DB2 SQL5005C 系统错误问题排查
2016-04-07 10:20
1226 查看
今天现场运维人员反馈,在备份数据库的时候,提示“SQL5005C 系统错误”。运维人员反馈之前备份数据库从没有出现过这种错误,今天备份的时候就出现了这种错误,无法备份数据库。
于是,通过查询“SQL5005C”的错误解释:“A system error, probably an I/O error, was encountered while accessing a configuration file”,提示“当访问配置文件的时候出现了IO错误”。怀疑是数据库在访问某些文件时出来问题,于是让运维人员拿取db2diag.txt的文件查看是不是有详细错误打印出来,果然,在里面看到如下的错误:
2016-04-06-17.00.56.529000+480 I7974839F392 LEVEL: Error
PID : 5936 TID : 5648 PROC : db2fmp64.exe
INSTANCE: DB2 NODE : 000
EDUID : 5648
FUNCTION: DB2 UDB, config/install, sqlfGetDbmCfg, probe:10
MESSAGE : SQL5005: sqlf_openfile rc =
DATA #1 : Hexdump, 4 bytes
0x000000000931B188 : 0A00 0F86
通过查询MESSGAE信息,在http://www-01.ibm.com/support/docview.wss?uid=swg21642594的文章中找到了灵感,这个问题解决方案中提示查询db2systm文件的权限。于是,让运维同事找一下这个文件,可是在系统中竟然找不到这个文件,可是在测试环境能够找到这个文件。突然想到之前由于数据库磁盘空间不够,让运维同事删除过一些日志或监控文件,可能当时这个文件就被误删了。于是,在本地测试环境删除db2systm文件后,然后执行备份操作,发现问题现场和现场反馈的现象一致,于是得出结论,由于db2systm文件保存了数据库的配置信息,误删db2systm文件导致备份操作时读取该文件信息时出错,导致无法执行备份操作。
此时文件已经被删除,想想该如何补救吧。。。
在测试环境测试发现,删除db2systm文件后,再重新将db2systm文件还原(重新复制到)以后,问题竟然不存在了,想到将测试环境的db2systm文件copy到生产环境是不是就可以,于是让运维同事将db2systm文件copy到生产环境相同路径下,然后再次执行备份操作,问题解决。
注:之前让运维同事执行db2set命令的时候,显示不出来任何信息,当时没有引起足够重视,其实,执行db2set命令查询数据库的一些变量信息时,应该也是通过读取db2systm文件获取的,文件没有当然就获取不到任何信息。文件恢复后,执行db2set命令时,可以获取到变量信息了。
于是,通过查询“SQL5005C”的错误解释:“A system error, probably an I/O error, was encountered while accessing a configuration file”,提示“当访问配置文件的时候出现了IO错误”。怀疑是数据库在访问某些文件时出来问题,于是让运维人员拿取db2diag.txt的文件查看是不是有详细错误打印出来,果然,在里面看到如下的错误:
2016-04-06-17.00.56.529000+480 I7974839F392 LEVEL: Error
PID : 5936 TID : 5648 PROC : db2fmp64.exe
INSTANCE: DB2 NODE : 000
EDUID : 5648
FUNCTION: DB2 UDB, config/install, sqlfGetDbmCfg, probe:10
MESSAGE : SQL5005: sqlf_openfile rc =
DATA #1 : Hexdump, 4 bytes
0x000000000931B188 : 0A00 0F86
通过查询MESSGAE信息,在http://www-01.ibm.com/support/docview.wss?uid=swg21642594的文章中找到了灵感,这个问题解决方案中提示查询db2systm文件的权限。于是,让运维同事找一下这个文件,可是在系统中竟然找不到这个文件,可是在测试环境能够找到这个文件。突然想到之前由于数据库磁盘空间不够,让运维同事删除过一些日志或监控文件,可能当时这个文件就被误删了。于是,在本地测试环境删除db2systm文件后,然后执行备份操作,发现问题现场和现场反馈的现象一致,于是得出结论,由于db2systm文件保存了数据库的配置信息,误删db2systm文件导致备份操作时读取该文件信息时出错,导致无法执行备份操作。
此时文件已经被删除,想想该如何补救吧。。。
在测试环境测试发现,删除db2systm文件后,再重新将db2systm文件还原(重新复制到)以后,问题竟然不存在了,想到将测试环境的db2systm文件copy到生产环境是不是就可以,于是让运维同事将db2systm文件copy到生产环境相同路径下,然后再次执行备份操作,问题解决。
注:之前让运维同事执行db2set命令的时候,显示不出来任何信息,当时没有引起足够重视,其实,执行db2set命令查询数据库的一些变量信息时,应该也是通过读取db2systm文件获取的,文件没有当然就获取不到任何信息。文件恢复后,执行db2set命令时,可以获取到变量信息了。
相关文章推荐
- MySQL服务启动报:系统错误1067问题的排查与解决
- MySQLdb错误 编码问题 linux系统粘贴板 python取环境变量 2016.05.27回顾
- 系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路
- 如果flash 容易出现ECC 校验错误导致wince 系统不启动,有可能是什么问题呢?
- 从源代码剖析Struts2中用户自定义配置转换器的两种方式——基于字段的配置转换器和基于类型的配置转换器(解决了实际系统中,因没有区分这两种工作方式的生命周期而引起的异常错误问题)
- 装系统时出现Error17错误问题
- android apk应用系统集成编译错误问题
- 在模拟器出现:系统错误 -2 的问题
- WIN7(VISTA)系统无法上网问题排查方法
- 2013 Mac Air 装Win7双系统问题-安装程序无法创建新的分区,也无法定位系统 & Windows无法安装所需的文件,错误代码0x80070570
- devenv.exe - 系统错误无法启动此程序,因为计算机中丢失 MSVCR100.dll。尝试重新安装该程序以解决此问题。【解决办法】
- 如何修复 ubuntu 中检测到系统程序错误的问题
- 解决安装驱动程序时提示“Windows已经找到设备的驱动程序,但在试图安装它时遇到错误”“系统找不到指定路径”问题。
- Linux系统网络设置及问题排查
- 基于ubuntu16.04多用户编译android N(android 7.1)系统提示ninja_wrapper错误问题
- 解决php5.6连接64位系统下mssql2008的错误问题
- 排查一个关于Parsley配置错误导致的问题
- [Sql2008错误问题] 配置系统未能初始化 0x84B10001
- 系统错误 5。拒绝访问。关于Mysql访问权限问题的解决办法
- 云服务器 ECS Linux 系统 CPU 占用率较高问题排查思路