oralce 数据库表有外键约束还原出错

happy_lht 2009-09-01 12:15:40
Oracle 11g数据库我用EXPDP和IMPDP备份与还原,impdp还原时我用参数TABLE_EXISTS_ACTION=replace,由于表有关联,有外键约束,所以还原一直出错,请有用过EXPDP和IMPDP的高手帮我解答下,谢谢了!以下是还原过程,在线等,急急


C:\Documents and Settings\anonymous>impdp test/joyce directory=data_pump_dir sch
emas=test dumpfile=user1.dmp TABLE_EXISTS_ACTION=replace

Import: Release 11.1.0.7.0 - Production on 星期二, 01 9月, 2009 11:55:49

Copyright (c) 2003, 2007, Oracle. All rights reserved.

连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已成功加载/卸载了主表 "TEST"."SYS_IMPORT_SCHEMA_01"
启动 "TEST"."SYS_IMPORT_SCHEMA_01": test/******** directory=data_pump_dir schem
as=test dumpfile=user1.dmp TABLE_EXISTS_ACTION=replace
处理对象类型 SCHEMA_EXPORT/USER
ORA-31684: 对象类型 USER:"TEST" 已存在
处理对象类型 SCHEMA_EXPORT/SYSTEM_GRANT
处理对象类型 SCHEMA_EXPORT/ROLE_GRANT
处理对象类型 SCHEMA_EXPORT/DEFAULT_ROLE
处理对象类型 SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE
ORA-39121: 无法替换表 "TEST"."TT", 将跳过数据。引起失败的错误为:
ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
ORA-00955: 名称已由现有对象使用
ORA-39121: 无法替换表 "TEST"."RR", 将跳过数据。引起失败的错误为:
ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效
ORA-00955: 名称已由现有对象使用
处理对象类型 SCHEMA_EXPORT/TABLE/TABLE_DATA
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/INDEX
ORA-39112: 跳过从属对象类型 INDEX:"TEST"."PK_TT_ID", 创建基本对象类型 TABLE:"TES
T"."TT" 失败
ORA-39112: 跳过从属对象类型 INDEX:"TEST"."PK_RR_ID", 创建基本对象类型 TABLE:"TES
T"."RR" 失败
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
ORA-39112: 跳过从属对象类型 CONSTRAINT:"TEST"."PK_RR_ID", 创建基本对象类型 TABLE
:"TEST"."RR" 失败
ORA-39112: 跳过从属对象类型 CONSTRAINT:"TEST"."PK_TT_ID", 创建基本对象类型 TABLE
:"TEST"."TT" 失败
处理对象类型 SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
ORA-39112: 跳过从属对象类型 INDEX_STATISTICS, 创建基本对象类型 INDEX:"TEST"."PK_
TT_ID" 失败
ORA-39112: 跳过从属对象类型 INDEX_STATISTICS, 创建基本对象类型 INDEX:"TEST"."PK_
RR_ID" 失败
处理对象类型 SCHEMA_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT
ORA-39112: 跳过从属对象类型 REF_CONSTRAINT:"TEST"."FK_TT_ID", 创建基本对象类型 T
ABLE:"TEST"."RR" 失败
处理对象类型 SCHEMA_EXPORT/POST_SCHEMA/PROCACT_SCHEMA
作业 "TEST"."SYS_IMPORT_SCHEMA_01" 已经完成, 但是有 10 个错误 (于 11:55:52 完成)

...全文
1294 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
happy_lht 2009-09-01
  • 打赏
  • 举报
回复
解决了,只要把TABLE__EXISTS_ACTION=TRUNCATE就可以了,就会直接覆盖不会出现外键约束出现之类的,谢谢大家的帮忙。
happy_lht 2009-09-01
  • 打赏
  • 举报
回复



C:\Documents and Settings\anonymous>impdp test/joyce directory=data_pump_dir sch
emas=test dumpfile=user.dmp EXCLUDE=CONSTRAINT TABLE_EXISTS_ACTION=replace

Import: Release 11.1.0.7.0 - Production on 星期二, 01 9月, 2009 14:53:48

Copyright (c) 2003, 2007, Oracle. All rights reserved.

连接到: Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-39002: 操作无效
ORA-39168: 未找到对象路径 CONSTRAINT。

为什么还是出错,什么原因
#1楼这句话什么意思,我不懂,可不可以详细说下怎么弄,我刚学用EXPDP和IMPDP谢谢(你这里出错是不是这些表还在被其他的session在使用呀。或者相关这个对象的事务没有结束)

inthirties 2009-09-01
  • 打赏
  • 举报
回复
EXCLUDE 排除特定的对象类型

EXCLUDE=CONSTRAINT

replace是指的,如果有表存在,先删除,然后建立。

你这里出错是不是这些表还在被其他的session在使用呀。或者相关这个对象的事务没有结束

17,090

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧