今天使用impdp实施数据导入时遭遇ORA-39083、ORA-14063报错,如下所示:
-
C:\Users\Administrator>impdp HOEGH/HOEGH123 directory=data_pump_directory dumpfile=20151104static.dmp remap_schema=SOURCEDB:HOEGH remap_tablespace=SOURCEDBstatic:HOEGHstatic
-
-
Import: Release 10.2.0.4.0 - 64bit Production on 星期三, 04 11月, 2015 10:53:22
-
-
Copyright (c) 2003, 2007, Oracle. All rights reserved.
-
-
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
-
With the Partitioning, OLAP, Data Mining and Real Application Testing options
-
已成功加载/卸载了主表 "HOEGH"."SYS_IMPORT_FULL_01"
-
启动 "HOEGH"."SYS_IMPORT_FULL_01": HOEGH/******** directory=data_pump_directory dumpfile=20151104static.dmp remap_schema=SOURCEDB:HOEGH remap_tablespace=SOURCEDBstatic:HOEGHstatic
-
处理对象类型 TABLE_EXPORT/TABLE/TABLE
-
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
-
. . . . (此处省略若干字)
-
. . 导入了 "HOEGH"."HOEGH" 7.562 KB 8 行
-
. . . . (此处省略若干字)
-
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
-
处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
-
ORA-39083: 对象类型 CONSTRAINT 创建失败, 出现错误:
-
ORA-14063: 唯一/主约束条件关键字中存在无用索引
-
失败的 sql 为:
-
ALTER TABLE "HOEGH"."HOEGH" ADD CONSTRAINT "PK_HOEGH" PRIMARY KEY ("CODE") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "SOURCEDB"
-
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
-
处理对象类型 TABLE_EXPORT/TABLE/COMMENT
-
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
-
作业 "HOEGH"."SYS_IMPORT_FULL_01" 已经完成, 但是有 1 个错误 (于 10:53:36 完成)
根据经验判断,ORA-14063是问题的关键所在,因此需要查询user_indexes来确认HOEGH表上的索引状态是否有异常,如下所示:
-
SQL>
-
SQL> select index_name,status from user_indexes where table_name='HOEGH';
-
-
INDEX_NAME STATUS
-
------------------------------ --------
-
PK_HOEGH UNUSABLE
-
SYS_IL0000075416C00003$$ VALID
果然,HOEGH标的主键状态为UNUSABLE,重新编译一下应该就没问题了。
-
SQL>
-
SQL> alter index PK_HOEGH rebuild;
-
-
索引已更改。
-
-
SQL>
-
SQL> select index_name,status from user_indexes where table_name='HOEGH';
-
-
INDEX_NAME STATUS
-
------------------------------ --------
-
PK_HOEGH VALID
-
SYS_IL0000075416C00003$$ VALID
-
-
SQL>
接下来,我们使用expdp工具重新导出数据,然后再次执行上述impdp操作,报错解除。
-
C:\Users\Administrator>impdp HOEGH/HOEGH123 directory=data_pump_directory dumpfile=20151104static.dmp remap_schema=SOURCEDB:HOEGH remap_tablespace=SOURCEDBstatic:HOEGHstatic
-
-
Import: Release 10.2.0.4.0 - 64bit Production on 星期三, 04 11月, 2015 11:20:06
-
-
Copyright (c) 2003, 2007, Oracle. All rights reserved.
-
-
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
-
With the Partitioning, OLAP, Data Mining and Real Application Testing options
-
已成功加载/卸载了主表 "HOEGH"."SYS_IMPORT_FULL_01"
-
启动 "HOEGH"."SYS_IMPORT_FULL_01": HOEGH/******** directory=data_pump_directory dumpfile=20151104static.dmp remap_schema=SOURCEDB:HOEGH remap_tablespace=SOURCEDBstatic:HOEGHstatic
-
处理对象类型 TABLE_EXPORT/TABLE/TABLE
-
处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA
-
. . . . (此处省略若干字)
-
. . 导入了 "HOEGH"."HOEGH" 7.562 KB 8 行
-
. . . . (此处省略若干字)
-
处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX
-
处理对象类型 TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
-
处理对象类型 TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
-
处理对象类型 TABLE_EXPORT/TABLE/COMMENT
-
处理对象类型 TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
-
作业 "HOEGH"."SYS_IMPORT_FULL_01" 已于 11:20:19 成功完成
hoegh
15.11.4
-- The End --
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30162081/viewspace-1822227/
,如需转载,请注明出处,否则将追究法律责任。