IT分销/经销数据库失效

数据库迁移 表很多 如何暂时让外键失效

数据库迁移 表很多 如何暂时让外键失效,让我能成功导入数据

或者db2 怎么才能自动判断表的顺序,先导主表,再导有外键的表,表比如有300多张,有外键的表50张左右吧
参与17

16同行回答

weiruan85weiruan85数据库管理员ibm
macrozeng  的第一种方法比较常用,第二种以后有机会可以试一下显示全部
macrozeng  的第一种方法比较常用,第二种以后有机会可以试一下收起
政府机关 · 2010-08-18
浏览1276
start2000start2000系统架构师ABB
db2 也有import/export工具啊,而且oracle impdp&expdp也会报很多类似错误的.最好还是自己熟悉,手动调整显示全部
db2 也有import/export工具啊,
而且oracle impdp&expdp也会报很多类似错误的.
最好还是自己熟悉,手动调整收起
互联网服务 · 2010-08-12
浏览1226
nowhillnowhill系统工程师
谢谢大家 个人觉得 weiruan85 用 db2look 把表结构导出来,然后把外键的ddl最后执行不久可以了。 这个方法我接受了,分给他吧,谢谢了db2应该在维护方面的工具加大 开发力度啊,什么都靠dba,累啊...显示全部
谢谢大家
个人觉得 weiruan85
用 db2look 把表结构导出来,然后把外键的ddl最后执行不久可以了。
这个方法我接受了,分给他吧,谢谢了



db2应该在维护方面的工具加大 开发力度啊,什么都靠dba,累啊收起
IT分销/经销 · 2010-08-12
浏览1217
macrozengmacrozeng数据库管理员IBM
使用 db2 load 来做,db2 会自动把这些表设置为外键失效, 然后在 load 完以后使用类似下面的语句来生成一致性检查语句db2 "select 'db2 set integrity for oa.'||TABNAME||' immediate checked' from syscat.tables where STATUS='C'"当然,还有一种办法就是通过 db2look 里...显示全部
使用 db2 load 来做,db2 会自动把这些表设置为外键失效, 然后在 load 完以后使用类似下面的语句来生成一致性检查语句
db2 "select 'db2 set integrity for oa.'||TABNAME||' immediate checked' from syscat.tables where STATUS='C'"

当然,还有一种办法就是通过 db2look 里面的表名和对应的外键名,通过脚本生成 alter 语句

ALTER TABLE "OA"."LOCATION"
        ALTER FOREIGN KEY "SQL050211184617661" NOT ENFORCED;

然后在 import 完成以后再

ALTER TABLE "OA"."LOCATION"
        ALTER FOREIGN KEY "SQL050211184617661" ENFORCED;收起
政府机关 · 2010-08-12
浏览1211
db2startdb2start技术主管新网华通信息有限公司
用toad工具试试,看看能不能给你带来方便。显示全部
用toad工具试试,看看能不能给你带来方便。收起
IT分销/经销 · 2010-08-12
浏览1232
leo_wynleo_wyn商业智能工程师Security
可以试着使用重定向恢复,来代替imp显示全部
可以试着使用重定向恢复,来代替imp收起
系统集成 · 2010-08-12
浏览1212
leo_wynleo_wyn商业智能工程师Security
使用load, 默认不进行完整性检查,也就是DEFERRED, 可以暂时取消外键的检查但还要进行相关的SET INTEGRITY显示全部
使用load, 默认不进行完整性检查,也就是DEFERRED, 可以暂时取消外键的检查
但还要进行相关的SET INTEGRITY收起
系统集成 · 2010-08-12
浏览1261
limin19821limin19821系统工程师乐酷天
回复 9# nowhill 是啊,为什么就没有一个类似oracle的imp的工具呢!多方便啊!显示全部
回复 9# nowhill
是啊,为什么就没有一个类似oracle的imp的工具呢!多方便啊!收起
IT分销/经销 · 2010-08-12
浏览1274
nowhillnowhill系统工程师
用 db2look 把表结构导出来,然后把外键的ddl最后执行不久可以了。这个到时可行的一种方法,这个方法和我先 删除外键,再建立外键的方法差不多,我仔细了看了一下 db2look导出的表结构,还要 结构是一块一块的,外键都在一起拷贝起来也就快了不过db2作为一个 全球知名的数据库,导一个...显示全部
用 db2look 把表结构导出来,然后把外键的ddl最后执行不久可以了。
这个到时可行的一种方法,这个方法和我先 删除外键,再建立外键的方法差不多,
我仔细了看了一下 db2look导出的表结构,还要 结构是一块一块的,外键都在一起
拷贝起来也就快了

不过db2作为一个 全球知名的数据库,导一个 schema的数据库
操作的步骤 这么多
导结构,导数据,还要修改脚本
导入结构,导入数据,执行外键脚本
真累啊收起
IT分销/经销 · 2010-08-12
浏览1354
start2000start2000系统架构师ABB
手动调整db2look生成脚本的执行顺序是可以的显示全部
手动调整db2look生成脚本的执行顺序是可以的收起
互联网服务 · 2010-08-11
浏览1242

提问者

nowhill
系统工程师

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-08-11
  • 关注会员:1 人
  • 问题浏览:10409
  • 最近回答:2010-08-18
  • X社区推广