在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
db2dart诊断数据页损坏问题2009-06-18 09:26 牛新庄 清华大学出版社
《深入解析DB2--高级管理、内部体系结构与诊断案例》第9章高级诊断,本章介绍的工具有db2dart和inspect、db2pdcfg、db2trc、db2_call_stack和db2nstck,并结合这些工具给出了大量的诊断问题的实例。本节为大家介绍db2dart诊断数据页损坏问题。
AD: 9.1.4 db2dart诊断数据页损坏问题 下面我们讨论一个实际的案例,请看下面的db2diag.log文件:
可以从系统表中读取判断是哪个表受到损坏。例如:
数据库最严重的故障莫过于数据库损坏。从上面的例子来看,我们的数据库中有数据页受到损坏。出现SQL1034C错误时,我们首先执行操作系统命令。例如在AIX操作系统上,执行"errpt -d H -T PERM"命令来判断系统是否出现硬件损坏。然后尝试使用"db2 restart db sample"命令让数据库执行崩溃恢复。 如果上述办法不能解决问题,那么最好的办法是从备份恢复数据库。如果无法从备份恢复,那么可以根据损坏的原因尝试相应的解决方案。对于存储问题导致部分数据文件损坏,但是数据库还可以连接的情况,可以采用导出数据库的表结构和数据的方法来恢复数据库。当然对于损坏的表,导出是无法完成的。这时可以使用db2dart的导出数据功能来导出这些损坏的表的数据。如果数据库损坏到已经无法连接的程度,那么除了从备份恢复,唯一的办法就是使用db2dart来导出所有数据了。下面展示了使用db2dart命令时的提示信息:
inspect命令使用案例
2009-06-18 09:26 牛新庄 清华大学出版社
《深入解析DB2--高级管理、内部体系结构与诊断案例》第9章高级诊断,本章介绍的工具有db2dart和inspect、db2pdcfg、db2trc、db2_call_stack和db2nstck,并结合这些工具给出了大量的诊断问题的实例。本节为大家介绍inspect命令使用案例。
AD: 9.1.5 inspect命令使用案例 inspect命令类似于db2dart命令,它同样可以用来检查数据库、表空间和表。 inspect命令和db2dart命令的主要区别是:inspect命令需要与数据库连接,并且可以在该数据库上同时有多个活动的数据库连接时执行;而db2dart命令在执行之前需要断开所有数据库连接,数据库上不能有活动的数据库连接。 inspect命令可以在有其他用户连接的情况下验证数据库的完整性。例如,使用"db2 inspect check database results keep <filename>"命令可以验证整个数据库的完整性,具体语法如下所示:
在Windows平台下,输出文件在"C:\IBM\SQLLIB\实例名"或DB2INSTPORF变量指定的目录下;在Linux/UNIX平台下,输出文件在"$INSTHOME/sqllib/db2dump"目录下。输出的文件需要由db2instpf命令进行格式化,db2instpf命令的语法是:
例如:
执行inspect命令时还可以加很多参数,使用时可以执行"db2 ? inspect"查看详细的命令选项。下面我们举几个inspect的使用案例: 例如,如果希望只检查表空间2中的数据,可执行以下命令:
对数据库从表空间11对象2开始执行一致性检查,可执行以下命令:
产生的checkts.out报告的具体信息如下所示: |
请发表评论