db2全库完整性检查和小工具记录

  

db2“选择substr (30 TABNAME, 1) TAB_NAME,地位,ACCESS_MODE, substr (CONST_CHECKED 1 1) FK_CHECKED,
substr (CONST_CHECKED 2 1) CC_CHECKED SYSCAT
。表状态=癈”“

  

如果回显中有结果,说明有表没有完成完整性检查。通常是因为有负载操作造成的。
这个时候用一个小工具就可以完成自动的检查:

  

setIdentify.sh   

db2 connect 1美元
db2 tx + w“创(tabname, seq)(选择空白(tabschema) | |”。“| |空白(tabname)
tabname, row_number()/(由状态分区)如seq syscat
。表
状态=' C '), r (a, seq1)(选择(tabname VARCHAR (3900)), seq
从创seq union all选择r=1。一个| |”、“| |空白(gen.tabname) gen.seq
从创,r (r.seq1 + 1)=gen。seq), r1(选择一个,seq1 r)
选择“SET INTEGRITY " | |一个| |“立即检查,“从r1
seq1=(选择max (seq1) r1)“;比;db2FixCheckPending。sql

  

db2 tvf db2FixCheckPending.sql

db2全库完整性检查和小工具记录