rfu*_*sca 5 oracle oracle-11g-r2 impdp
我正在尝试使用 oracle 的 IMPDP 工具完整地复制 SCHEMA。我已经设置了一个指向自身的数据库链接,并且该链接工作正常。然后我运行这个:
impdp username/password@instancename schemas=TARGET_SCHEMA
network_link=LINK_BACK_TO_TARGET
directory=HOME_DIR logfile=IMPDP_COPY_BACKUP.log
remap_schema=TARGET_SCHEMA:SOURCE_SCHEMA
TRANSFORM=STORAGE:n:table;
Run Code Online (Sandbox Code Playgroud)
在我的两个测试系统中一切正常,但在 Oracle 11gR2 生产中,它开始移动表并产生以下结果:
Processing object type SCHEMA_EXPORT/TABLE/TABLE
ORA-39126: Worker unexpected fatal error in
KUPW$WORKER.UPDATE_TD_BASE_PO_INFO [UPDATE
"ADMIN"."SYS_IMPORT_SCHEMA_04" mtu SET
mtu.base_process_order = NVL((SELECT mts1.process_order
FROM "ADMIN"."SYS_IMPORT_SCHEMA_04" mts1 WHERE
mts1.process_order > 0 AND mts1.duplicate = 0
AND mts1.object_schema = mtu.base_object_schema
AND mts1.object_name = mtu.base_object_name AND
mts1.object_type = mtu.base_object_type AND
mts1.processing_state != :1 ),
(-1000 - (SELECT MIN(mts2.process_order) FROM
"ADMIN"."SYS_IMPORT_SCHEMA_04" mts2 WHERE
mts2.process_order > 0 AND mts2.duplicate = 0
AND mts2.object_schema = mtu.base_object_schema
AND mts2.object_name = mtu.base_object_name
AND mts2.object_type = mtu.object_type)))
WHERE mtu.process_order > 0 AND mtu.duplicate = 0
AND mtu.object_type = 'TABLE_DATA'
AND mtu.processing_status = :2]
ORA-01427: single-row subquery returns more than one row
Run Code Online (Sandbox Code Playgroud)
我已经尝试了几次,但我不知道发生了什么。
我也对克隆模式的其他方法持开放态度。
如果您只想完成工作而不担心为什么它在测试中有效但在生产中无效,那么旧的导出/导入方法将起作用。你没有提到操作系统,所以我假设是 Windows,因为这就是我的工作内容。就像是:
REM from a DOS .bat script located on the server
SET oracle_sid=YourDatabaseName
REM export the schema
C:\app\YourOraclePath\bin\exp SchemaOwner/SchemaPass@SchemaName \
file=(C:\Dump\SchemaName01,C:\Dump\SchemaName02,C:\dump\SchemaName03) \
filesize=1GB log=C:\dump\Logs\SchemaName.log
REM drop and recreate the new user if they have existing objects
REM otherwise comment out this line
sqlplus /nolog @C:\Dump\DropRecreateUsers.sql
imp NewSchemaOwner/NewSchemaOwnerPassword \
LOG=C:\dump\logs\importNewSchemaOwner.log file=SchemaOwner01.dmp \
fromuser=SchemaOwner touser=NewSchemaOwner
Run Code Online (Sandbox Code Playgroud)
这并不能解决使用数据泵时出现的错误,该错误可能与测试和生产之间的差异有关。它也没有讨论将数据集从生产导入到生产中的智慧。如果此操作失败,后果是什么?
归档时间: |
|
查看次数: |
2052 次 |
最近记录: |