关于Oracle数据泵导入的问题

pgx2nnw8  于 2023-03-17  发布在  Oracle
关注(0)|答案(1)|浏览(215)

我们可以这样做吗:impdp dumpfile=“a.dmp,B.dmp”其中a.dmp和b.dmp是通过单独的expdp调用生成的?

yyyllmsg

yyyllmsg1#

我们试试看。

出口:

两个单独的导出:表格测试

c:\temp>expdp scott/tiger@pdb1 dumpfile=test.dmp directory=ext_dir tables=test

Export: Release 21.0.0.0.0 - Production on Wed Mar 15 20:11:58 2023
Version 21.3.0.0.0

Copyright (c) 1982, 2021, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
Starting "SCOTT"."SYS_EXPORT_TABLE_01":  scott/********@pdb1 dumpfile=test.dmp directory=ext_dir tables=test
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
Processing object type TABLE_EXPORT/TABLE/TABLE
. . exported "SCOTT"."TEST"                              6.078 KB      12 rows
Master table "SCOTT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SCOTT.SYS_EXPORT_TABLE_01 is:
  C:\TEMP\TEST.DMP
Job "SCOTT"."SYS_EXPORT_TABLE_01" successfully completed at Wed Mar 15 20:12:57 2023 elapsed 0 00:00:47

表1

c:\temp>expdp scott/tiger@pdb1 dumpfile=table1.dmp directory=ext_dir tables=table1

Export: Release 21.0.0.0.0 - Production on Wed Mar 15 20:13:36 2023
Version 21.3.0.0.0

Copyright (c) 1982, 2021, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
Starting "SCOTT"."SYS_EXPORT_TABLE_01":  scott/********@pdb1 dumpfile=table1.dmp directory=ext_dir tables=table1
Processing object type TABLE_EXPORT/TABLE/TABLE_DATA
Processing object type TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
Processing object type TABLE_EXPORT/TABLE/STATISTICS/MARKER
Processing object type TABLE_EXPORT/TABLE/TABLE
Processing object type TABLE_EXPORT/TABLE/TRIGGER
. . exported "SCOTT"."TABLE1"                            5.054 KB       1 rows
Master table "SCOTT"."SYS_EXPORT_TABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SCOTT.SYS_EXPORT_TABLE_01 is:
  C:\TEMP\TABLE1.DMP
Job "SCOTT"."SYS_EXPORT_TABLE_01" successfully completed at Wed Mar 15 20:14:01 2023 elapsed 0 00:00:22

c:\temp>

导入:

同一impdp中的两个.dmp文件:

c:\temp>impdp scott/tiger@pdb1 dumpfile=test.dmp,table1.dmp directory=ext_dir

Import: Release 21.0.0.0.0 - Production on Wed Mar 15 20:17:04 2023
Version 21.3.0.0.0

Copyright (c) 1982, 2021, Oracle and/or its affiliates.  All rights reserved.

Connected to: Oracle Database 21c Express Edition Release 21.0.0.0.0 - Production
ORA-39001: invalid argument value
ORA-39000: bad dump file specification
ORA-39140: dump file "c:\temp\table1.dmp" belongs to job "SCOTT"."SYS_EXPORT_TABLE_01"


c:\temp>

所以,no,它不起作用。所有.dmp文件必须属于同一个expdp。错误解释是这样说的:
错误代码:ORA-39140

说明:转储文件“string”属于作业字符串
原因:当转储文件集包含多个文件时,必须为导入操作指定集中的所有文件,并且所有文件必须由同一导出作业生成。提供的文件之一不属于原始转储文件集。例如,它是由与其他文件不同的导出作业创建的。
操作:删除消息中指示的转储文件,然后重试导入操作,仅提供由特定导出作业创建的完整转储文件集。

相关问题