【发布时间】:2012-08-15 03:38:54
【问题描述】:
我目前在我的开发机器上为 db2 测试备份和恢复数据库表时遇到问题。从来没有完全成功。尽管我能够在删除并重新创建表后恢复所有数据,但我无法重置外键约束,因为我收到 SQL 错误,抱怨键不匹配。以下是我的具体步骤,我确定不完全正确,但它最终会恢复 5423 行数据:
过程
-
将 ixf 消息导出到 /export/home/dale/cmets.ixf /export/home/dale/msg.txt select * from .cmets
注意:步骤 1 将 5423 行数据导出到某个位置
删除表 .cmets
-
从 /export/home/dale/cmets.ixf 的 ixf create 导入到 .cmets
注意:此处的第 3 步创建了表,但不插入任何数据行
-
将客户端从 /export/home/dale/cmets.ixf 中被 identityoverride 修改的 ixf 加载到 .cmets 中
注意:在这一步之前,我可以在重新创建的 db 表中插入 5423 行数据
-
alter table .cmets 添加 FOREIGN KEY (cmets_id) REFERENCES .news (article_key)
注意:这里 alter table 失败,因为 db2 抱怨某些 cmets_id 与 article_key 不匹配
有人可以在这里帮助我解决我的问题吗?提前致谢
【问题讨论】:
-
没有真正回答您的问题,但您为什么要使用导出进行“备份和恢复”?导出并不是真正的备份。
-
嗨 Matthew,它实际上是一个表的备份,而不是整个数据库。这只是我的方法,我认为这不是正确的方法。但是,我非常有信心在 db2 中会有更合适的方法来在表级别进行备份和恢复,但不知道它是什么。干杯
-
请发布您从第 5 步得到的实际错误消息。
标签: reference foreign-keys db2 backup restore