Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103638992
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-14 19:38:28

    来源:赛迪网    作者:shui

第三种情况是这样的:

最开始,是突然DB2的客户端连接不上server了,提示如下:

C:\Documents and Settings\Administrator>db2 connect
 to fjdldw user install using install3211

SQL30081N 检测到通信错误。正在使用的通信协议:"TCP/IP"。正在使用的通信API:

"SOCKETS"。检测到错误的位置:"10.142.12.1"。检测到错误的通信函数:"connect"。协

议特定的错误代码:"10061"、"*"、"*"。 SQLSTATE=08001

我本来还以为真是什么TCP/IP协议的问题,去查找了很多与SQL30081N错误相关的信息,都无法解决问题。后来到了在服务器上检查,发现DB2实例未起来。

用db2start命令,仍是提示:

D:\Program\SQLLIB\BIN>db2start
12/30/2004 11:28:39 0 0 SQL1042C 发生意外的系统错误。
SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019

用db2 get dbm cfg查看配置文件,因未作过其他操作,所以没有什么异常

查看相应实例下的db2diag.log文件,摘取真正有用的部分出错日志:

Failed to create the memory segment used for
 communication with fenced routines. 
If re-starting db2, ensure no db2fmp processes 
were on the instance prior to start. Otherwise, 
you can ajust this value through DB2_FMP_COMM_HEAPSZ 
db2set value, or by decreasing your ASLHEAPSZ setting.

依据

ensure no db2fmp processes were 
on the instance prior to start

将任务管理器里的db2fmp进程全部杀掉,然后重新启动实例。db2start,OK!

小结:后来查了一查,db2fmp进程用于执行受保护的存储过程,或者自定义函数。这次出错的原因,一直没有弄清楚。但是,通过这次解决,可以说明一点,出了错误,查查db2diag.log文件,总是不会错的。

阅读(518) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~