1 问题现象:
1.1 通过LOAD导入多个表,表之间有主、外键关联或者表上有constraint,导入后,表处于如上状态
1.2 atler table对分区表进行分区操作,表处于如上状态https://www.cndba.cn/hbhe0316/article/4880https://www.cndba.cn/hbhe0316/article/4880
2 数据收集:
对于表状态为Check pending的表对象,我们可以在更新状态前备份表对象列表:https://www.cndba.cn/hbhe0316/article/4880
db2 "SELECT TABSCHEMA, TABNAME, STATUS FROM SYSCAT.TABLES WHERE STATUS <> 'N'" > /tmp/checkpending.log
3 处理方法:
3.1 检查哪些表处于Check Pending状态
https://www.cndba.cn/hbhe0316/article/4880
db2 "SELECT TABSCHEMA, TABNAME, STATUS FROM SYSCAT.TABLES WHERE STATUS <> 'N'"
3.2 通过如下语句,解除Check Pending状态https://www.cndba.cn/hbhe0316/article/4880
https://www.cndba.cn/hbhe0316/article/4880
https://www.cndba.cn/hbhe0316/article/4880
db2 "SET INTEGRITY FOR <tabname> IMMEDIATE CHECKED"
3.3 通过如下命令生成批量命令:https://www.cndba.cn/hbhe0316/article/4880https://www.cndba.cn/hbhe0316/article/4880
https://www.cndba.cn/hbhe0316/article/4880
db2 "select 'SET INTEGRITY FOR ' || rtrim(TABSCHEMA) || '.' || ltrim(TABNAME) || ' IMMEDIATE CHECKED;' from SYSCAT.TABLES WHERE STATUS <> 'N'"
版权声明:本文为博主原创文章,未经博主允许不得转载。
DB2