码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2019-05-05 23:48:13      阅读:286      评论:0      收藏:0      [点我收藏+]

标签:where   connect   with   ons   自动   tab   tabs   HERE   arc   

db2 "SELECT substr(TABNAME,1,30) as TAB_NAME, STATUS, ACCESS_MODE, substr(CONST_CHECKED,1,1) as FK_CHECKED,
substr(CONST_CHECKED,2,1) as CC_CHECKED
FROM SYSCAT.TABLES WHERE STATUS = ‘C‘"

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

setIdentify.sh

db2 connect to $1
db2 -tx +w "with gen(tabname, seq) as( select rtrim(tabschema) || ‘.‘ || rtrim(tabname)
as tabname, row_number() over (partition by status) as seq
from syscat.tables
WHERE status=‘C‘ ),r(a, seq1) as (select CAST(tabname as VARCHAR(3900)), seq
from gen where seq=1 union all select r.a || ‘,‘|| rtrim(gen.tabname), gen.seq
from gen , r where (r.seq1+1)=gen.seq ), r1 as (select a, seq1 from r)
select ‘SET INTEGRITY FOR ‘ || a || ‘ IMMEDIATE CHECKED;‘ from r1
where seq1=(select max(seq1) from r1)" > db2FixCheckPending.sql

db2 -tvf db2FixCheckPending.sql

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

标签:where   connect   with   ons   自动   tab   tabs   HERE   arc   

原文地址:https://blog.51cto.com/accole/2389514

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!