Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->数据库应用 ->DB2 ->DB2中几种遇到的SQL1032N出错的解决
  相关分类: 
Access
DB2
Mysql
Oracle
PostgreSQL
SQL Server
Sybase
其他数据库
  站内搜索: 
热门文章排行
热门文章排行 老手论道:DB2数据库部分日常实用操(04-23)
DB2数据库的数据复制技术简单概述(04-17)
DB2中几种遇到的SQL1032N出错的解决(04-17)
浅谈DB2数据库的故障处理及最佳实践 (04-23)
教你使用SQL查询DB2 9中的XML数据(04-17)
精采文章排行
精采文章排行 实例之Visual C#中实现DB2数据库的编(06-29)
IBM称DB2 9已解决电子病历核心技术瓶(06-29)
3条规则帮你迅速提高DB2 Web的程序性(06-29)
如何为SAP安装多个DB2 9数据库服务器(06-29)
Windows系统下安装DB2通用数据库企业(06-29)
  ·3条规则帮你迅速提高DB2 Web的程序性能 ·如何为SAP安装多个DB2 9数据库服务器 ·Windows系统下安装DB2通用数据库企业版 ·DB2无限活动日志策略从介绍到实用技巧 ·DB2数据库下如何提高IMPORT命令的性能 ·了解DB2数据库优化需掌握几条基本策略 ·教你如何读取Excel数据并导入DB2数据库 ·实例之Visual C#中实现DB2数据库的编程 ·常见数据库系统之比较 - DB2数据库

DB2中几种遇到的SQL1032N出错的解决

作者:Webmaster   来源:qqread    点击:   日期:2007-04-17 [收藏] [投稿]

  IE是否经常中毒?推荐您

使用DB2以来,碰到了几次出现提示SQL1032N错误,每次出错时出错信息大概如下:

11/21/2004 22:15:33 0 0 SQL1042C 发生意外的系统错误。

SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019。

每次出现问题后,都到网上找了很多资料,也问了许多人,费了些力才搞定的。几次出错的原因和解决方法都不尽相同,解决后我也只做了个简单的记录。一直想把它们写下来,方便方便后来也遇到同样问题,跟我一样到处查找的人,中间也写了一些废话,比如我怎么样查找错误,甚至于作了哪些无用功。

第一种SQL1032N出错,是某天DB2的实例突然无法启动了,用db2start就提示大概如下的出错信息:

12/30/2004 11:28:39 0 0 SQL1042C 发生意外的系统错误。

SQL1032N 未发出启动数据库管理器的命令。 SQLSTATE=57019。

初次遇到这种问题,还以为会不会是数据库没起来,情急之下什么命令比如激活数据库只类的,都拿来试了试,实例都起不来,当时运行这些命令,肯定都是不行的了。

后来突然发现,在开启机器的时候,提示有个服务出错了没启动,由此推想应该就是在Window服务里设置为自动启动的DB2实例服务没有正常启动,我在服务里面手动启动它,提示这样的错误:

WINDOWS不能在本地计算机启动DB2-DB2-0.有关更多信息,查阅系统事件日志.并参考特定服务代码-8000.

查看事件管理器,有这样的记录:

DB2-DB2-0服务因4294959296服务性错误而停止.来源SERVICE CONTROL 事件ID:7024

做了这么多,全都是无用功,只限于知道了服务没起来,等于没找。

之后通过各方询问,终于找到了原因:License到期了。

在db2cmd界面下运行db2licm -l,可以很明显的看到许可证已经过期了。

知道原因所在了,剩下的,就是自己想办法去解决这个问题了。

小结:直到现在,在有些论坛中,还很经常看到有人发这种帖子来问,至少我在两个月内就碰到了三次这种帖子。所以,如果不是可以确定已经有永久授权的情况下,发生这种情况,用db2licm -l查一下,也不算坏事。

还有一种情况,跟前面的差不多

也是在启动实例的时候出现如上的SQL1032N错误。在windows NT服务中无法启动DB2-DB0服务,同时提示:

出错1069,登陆失败错误。

这个错误比较简单,是用来启动服务的用户名或密码错误。只需要在服务的属性中,选择登陆选项卡,选择用户,并填好密码,重新启动服务就可以了。

小结:这种情况,一般发生在切换用户登陆NT系统或者更改了DB2用户的密码的情况下。

第三种情况是这样的:

最开始,是突然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文件,总是不会错的。^_^

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页12 下一页

上一篇:DB2建立nickname导致CRASH解决方法   下一篇:教你使用SQL查询DB2 9中的XML数据
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·IBM称DB2 9已解决电子病历核心技术瓶颈

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。