DB2数据库导致表set integrity pending的原因

DB2数据库导致表为什么会出现set integrity pending,原因有哪些?

参与5

2同行回答

macrozengmacrozeng数据库管理员IBM
常见的原因是在做 db2 load 的时候,因为可能是先 load 子表,再 load 父表,所以 db2 可能会暂时忽略表之间的外键关系,而把这些表设置为 set integrity pending 状态,需要 DBA 运行 set integrity 命令确认没有冲突的数据...显示全部

常见的原因是在做 db2 load 的时候,因为可能是先 load 子表,再 load 父表,所以 db2 可能会暂时忽略表之间的外键关系,而把这些表设置为 set integrity pending 状态,需要 DBA 运行 set integrity 命令确认没有冲突的数据

收起
政府机关 · 2017-04-14
浏览7564
x1yanGyanGx1yanGyanG数据库运维工程师移动
通过实验总结如下:表完整性约束暂挂问题报错代码:SQL0668N  reason code 1表状态:Set Integrity Pending触发原因:存在主外键的两张表进行数据load时,如果对子表进行数据load,数据库将会暂时忽略表之间的外键关系,将子表置为 set integrity pending 状态(主表状态正常)...显示全部

通过实验总结如下:

表完整性约束暂挂问题

报错代码:SQL0668N  reason code 1

表状态:Set Integrity Pending

触发原因:

存在主外键的两张表进行数据load时,如果对子表进行数据load,数据库将会暂时忽略表之间的外键关系,将子表置为 set integrity pending 状态(主表状态正常)

解决办法:

如果load的数据在父表中存在,需DBA用户执行:set integrity for tabname immediate checked

如果load的数据在父表中不存在,则需要先新建一张与子表表结构相同的表来存放异常数据:create table tabname_exp like tabname,然后再执行:set integrity for tabname immediate checked for exception in tabname use tabname_exp


新增疑问:

对子表load完成后都会出发set integrity pending,有什么办法既可以使数据load成功又能使表状态保持正常?

收起
互联网服务 · 2017-04-24
浏览7972

提问者

x1yanGyanG
数据库运维工程师移动

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-04-14
  • 关注会员:2 人
  • 问题浏览:14950
  • 最近回答:2017-04-24
  • X社区推广