问题描述
亲爱的汤姆,
我们正在使用impdp版本11.2.0.3.0-Production在两个数据库之间交换数据,这两个数据库都在版本11.2.0.3.0-64bit Production中。
我们使用以下import.par parfile与几个remp_schema语句:
我们试图做的是:
-将数据从转储文件中的架构SRDB_MTGCEN_E01001_W导入数据库中的架构SRDB_MTGCEN_E01002_W
-将数据从转储文件中的架构SRDB_MTGCEN_E01002_W导入数据库中的架构SRDB_MTGCEN_E01004_W
当我们运行impdp时,我们在日志中收到数据错误 (对不起,我删除了一些行以符合帖子中的20000 char限制):
在导入之前,表将被截断并禁用约束。没有禁用的事实不是重点: 当我们检查数据时,有许多重复项,这将阻止再次启用约束。
正如您在日志中看到的那样,问题来自impdp尝试两次在架构SRDB_MTGCEN_E01004_W中导入数据。数据库架构SRDB_MTGCEN_E01002_W中没有导入。
也许问题出在remp_schema语句中。impdp可能会因为转储文件和数据库 (SRDB_MTGCEN_E01002_W) 中都有相同名称的模式而感到困惑。显然,impdp可能正在对remp_schema语句应用一些传递计算,因此它导入:
-数据从转储文件中的schema SRDB_MTGCEN_E01001_W到数据库中的schema SRDB_MTGCEN_E01004_W (因为remp _ schema = SRDB_MTGCEN_E01001_W:SRDB_MTGCEN_E01002_W remp _ schema = SRDB_MTGCEN_E01002_W:SRDB_MTGCEN_E01004_W)
-从转储文件中的架构SRDB_MTGCEN_E01002_W到数据库中的架构SRDB_MTGCEN_E01004_W的数据 (因为remp_schema = SRDB_MTGCEN_E01002_W:SRDB_MTGCEN_E01004_W)
当然,这不是我们想要做的。
我们已经尝试使用上面所示的REMAP_SCHEMA的单行语法和多行语法 (多个REMAP_SCHEMA语句,每个映射一个),但结果是相同的。
如果我们分成两个导入,每个映射一个,它可以工作,但过程较慢。如果可能的话,我们希望一次完成。也许我们缺少一些可以帮助我们的语法?
提前谢谢,
豪尔赫。
我们正在使用impdp版本11.2.0.3.0-Production在两个数据库之间交换数据,这两个数据库都在版本11.2.0.3.0-64bit Production中。
我们使用以下import.par parfile与几个remp_schema语句:
DUMPFILE=usertest.dmp LOGFILE=usertest.dmp.import_20180130_095418.log PARALLEL=6 SCHEMAS=SRDB_MTGCEN_E01001_W,SRDB_MTGCEN_E01002_W REMAP_SCHEMA=SRDB_MTGCEN_E01001_W:SRDB_MTGCEN_E01002_W,SRDB_MTGCEN_E01002_W:SRDB_MTGCEN_E01004_W CONTENT=DATA_ONLY TABLE_EXISTS_ACTION=TRUNCATE EXCLUDE=TABLE:"IN('CI_OCC','MD','AREA_SCHEMA','CMPRIVATETABLE','LINKTABLE','DATATABLE','CONN_ROLE_OBJ_SCOPE')" DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS复制
我们试图做的是:
-将数据从转储文件中的架构SRDB_MTGCEN_E01001_W导入数据库中的架构SRDB_MTGCEN_E01002_W
-将数据从转储文件中的架构SRDB_MTGCEN_E01002_W导入数据库中的架构SRDB_MTGCEN_E01004_W
当我们运行impdp时,我们在日志中收到数据错误 (对不起,我删除了一些行以符合帖子中的20000 char限制):
C:\importer>impdp 'sys/oracle@srdbsw as sysdba' PARFILE=import.par Import: Release 11.2.0.3.0 - Production on Tue Jan 30 09:59:46 2018 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options Master table "SYS"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded Starting "SYS"."SYS_IMPORT_SCHEMA_01": "sys/********@srdbsw AS SYSDBA" PARFILE=import.par Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA . . imported "SRDB_MTGCEN_E01004_W"."OBJECT" 6.562 KB 1 rows . . imported "SRDB_MTGCEN_E01004_W"."OBJ_VIEWS" 5.156 KB 1 rows . . imported "SRDB_MTGCEN_E01004_W"."APID" 0 KB 0 rows . . imported "SRDB_MTGCEN_E01004_W"."APID_INST" 0 KB 0 rows. . imported "SRDB_MTGCEN_E01004_W"."APID" 0 KB 0 rows . . imported "SRDB_MTGCEN_E01004_W"."APID_INST" 0 KB 0 rows . . imported "SRDB_MTGCEN_E01004_W"."APID_VIEWS" 0 KB 0 rows . . imported "SRDB_MTGCEN_E01004_W"."VERIF_PAR" 0 KB 0 rows . . imported "SRDB_MTGCEN_E01004_W"."VERIF_PHASE" 0 KB 0 rows . . imported "SRDB_MTGCEN_E01004_W"."OBJECT" 6.562 KB 0 out of 1 rows 1 row(s) were rejected with the following error: ORA-00001: unique constraint (SRDB_MTGCEN_E01004_W.OBJECT_AK1) violated . . imported "SRDB_MTGCEN_E01004_W"."OBJ_VIEWS" 5.187 KB 1 rows Job "SYS"."SYS_IMPORT_SCHEMA_01" successfully completed at 10:00:23 复制
在导入之前,表将被截断并禁用约束。没有禁用的事实不是重点: 当我们检查数据时,有许多重复项,这将阻止再次启用约束。
正如您在日志中看到的那样,问题来自impdp尝试两次在架构SRDB_MTGCEN_E01004_W中导入数据。数据库架构SRDB_MTGCEN_E01002_W中没有导入。
也许问题出在remp_schema语句中。impdp可能会因为转储文件和数据库 (SRDB_MTGCEN_E01002_W) 中都有相同名称的模式而感到困惑。显然,impdp可能正在对remp_schema语句应用一些传递计算,因此它导入:
-数据从转储文件中的schema SRDB_MTGCEN_E01001_W到数据库中的schema SRDB_MTGCEN_E01004_W (因为remp _ schema = SRDB_MTGCEN_E01001_W:SRDB_MTGCEN_E01002_W remp _ schema = SRDB_MTGCEN_E01002_W:SRDB_MTGCEN_E01004_W)
-从转储文件中的架构SRDB_MTGCEN_E01002_W到数据库中的架构SRDB_MTGCEN_E01004_W的数据 (因为remp_schema = SRDB_MTGCEN_E01002_W:SRDB_MTGCEN_E01004_W)
当然,这不是我们想要做的。
我们已经尝试使用上面所示的REMAP_SCHEMA的单行语法和多行语法 (多个REMAP_SCHEMA语句,每个映射一个),但结果是相同的。
如果我们分成两个导入,每个映射一个,它可以工作,但过程较慢。如果可能的话,我们希望一次完成。也许我们缺少一些可以帮助我们的语法?
提前谢谢,
豪尔赫。
专家解答
我认为您必须采用单独的进口产品。鉴于您要映射S1 -> S2,那么S2 -> S4对我来说,S1映射到S4是有意义的。
当然,我不知道有什么参数会改变这种行为。如果这对您来说是个问题,则可以尝试将其作为ER。
当然,我不知道有什么参数会改变这种行为。如果这对您来说是个问题,则可以尝试将其作为ER。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle DataGuard高可用性解决方案详解
孙莹
531次阅读
2025-03-26 23:27:33
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
501次阅读
2025-04-15 17:24:06
墨天轮个人数说知识点合集
JiekeXu
412次阅读
2025-04-01 15:56:03
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
411次阅读
2025-04-08 09:12:48
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
394次阅读
2025-04-18 14:18:38
Oracle SQL 执行计划分析与优化指南
Digital Observer
392次阅读
2025-04-01 11:08:44
Oracle 19c RAC更换IP实战,运维必看!
szrsu
353次阅读
2025-04-08 23:57:08
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
350次阅读
2025-04-20 10:07:02
oracle定时任务常用攻略
virvle
321次阅读
2025-03-25 16:05:19
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
320次阅读
2025-04-15 14:48:05