DB2 license过期的问题
今天启动DB2,无论如何都启动不了,报一个错误:“Windows 不能在 本地计算机 启动 DB2 - DB2COPY - DB2-0。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码 -8000”
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命令可以查看到db2的license信息。
如果license过期:
http://download.chinaprj.cn/link.php?key=iEsrsBss&url=http://dlwt.csdn.net/fd.php?i=226219322655988&s=97b87a0a93e675e668cc3e72e1eca169
可以找一个永久的license添加到db2数据库即可
把db2ese_c.lic放到一目录下:
/opt/ibm/db2/V9.1/license/db2ese_c.lic
在/opt/IBM/db2/V9.1/adm/目录下执行
db2licm -a
/opt/ibm/db2/V9.1/license/db2ese_c.lic
执行后显示:LIC1402I License added
successfully.
再用db2licm -l查看,你会发现你的db2变为永久了
呵呵,大功告成,以后就不怕db2数据库过期了
**************************************************
验证存在的DB2数据库
db2 list db directory
db2 list db directory show
detail
验证实例使用的通讯协议,查看DB2COMM变量
db2set -all
查看数据库管理器的配置,查看SVCENAME(特指tcpip协议)
db2 get dbm cfg
查看/etc/services中,有无与上面对应SVCENAME的端口,例如:
db2cDB2 50000/tcp