DB2常见错误记录

作者: 5473 分类: DB2 发布时间: 2015-04-19 20:25 阅读数:832
SQLCODE=-551, SQLSTATE=42501
原因:
用户试图对不拥有权限的特定的对象进行操作,或者表不存在。
比如原先是db2inst1的用户创建的表,现在db2inst2用户去访问表就会报没有权限的错误。
 
解决方法:授予权限即可。
db2 “grant accessctrl, bindadd, connect, createtab, create_external_routine, create_not_fenced_routine, dbadm, dataaccess, implicit_schema, load, quiesce_connect on database to user db2inst2”

从A机备份出来的数据库拿到B机还原后,连接报错:共享库存取错误
SQL2071N An error occurred while accessing the shared library
“/db2home/db2inst3/sqllib/adsm/libtsm.a”. Reason code: “1”.
结果发现libtsm.a没有找到libApiTSM64.a,于是从别的机器考过来一个,就可以连接上了
原因在于A机器原先装有TSM软件而B机器因为没有安装TSM软件导致。
LOGARCHMETH1 值为TSM:STANDARD,但机器上未安装TSM软件,修改配置即可:
db2 update db cfg for ZSHWL using LOGARCHMETH1 DISK:/db2storage/db2archive

连接DB2时,显示前滚出错,此时数据库是PENDING状态。
SQL2406N The BACKUP cannot be performed because the database needs to be
rolled forward. SQLSTATE=57019
解决:终止DB2的rollforward状态 ,手工终止即可。
db2 rollforward db ZSHWL stop

DB2 errorCode -964
查找原因db2 “?sql=0964”
原因:数据库的日志文件已满
解决方法:修改日志文件大小(加大),增加日志文件个数,增加辅助日志文件个数(三个修改参数可以任意选择)查看数据库的配置参数:db2 “get db cfg for SLPDB”日志文件大小(4KB)  (LOGFILSIZ) = 1024 (每个日志文件大小为1024*4KB=4MB)
主日志文件的数目     (LOGPRIMARY) = 13
辅助日志文件的数目   (LOGSECOND) = 4

修改日志文件大小:db2 “update db cfg for SLPDB using LOGFILSIZ  4096”
修改主日志文件个数:db2 “update db cfg for SLPDB  using LOGPRIMARY 20”
修改辅助日志文件个数:db2 “update db cfg for SLPDB  using LOGSECOND 10”

重启实例后生效!

SQL6031N 在 db2nodes.cfg 文件的行号”1″ 上出错。原因码为”10″。
原因:DB2数据库服务器更改了机器名导致数据库服务异常
解决方法:打开DB2实例所有者主目录下sqllib子目录下的文件db2nodes.cfg,修改其中的机器名为新机器的hostname,再启动DB2实例即可。

SQL1032N No start database manager command was issued . SQLSTATE=57019
原因:db2nodes.cfg内的hostname在hosts文件里没有定义
解决方法:修改hosts文件,添加127.0.0.1 hostname。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注