在 AWS RDS Oracle 数据库中导入 .dmp 文件时出错

2024-04-14

我已遵循AWS将数据导入RDS https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html guide.

我已经复制了.dmp文件从另一台机器上的源 Oracle 实例复制到DATA_DUMP_DIR在 RDS 实例上。

现在我尝试使用下面的代码导入它:

DECLARE
hdnl NUMBER;
BEGIN
hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=>null);
DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'sample_copied.dmp', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);
DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''CORE_API'',''CORE_DAP'', ''CORE_MD'', ''CORE_ST'', ''CORE_BI'', ''CORE_MAPI'', ''CORE_MAPI_LOG'', ''CORE_LEG'')');
DBMS_DATAPUMP.METADATA_REMAP(hdnl,'REMAP_TABLESPACE','LOG','STORAGE_DATA');
DBMS_DATAPUMP.METADATA_REMAP(hdnl,'REMAP_TABLESPACE','CORE_LEG_TBS','LEG_DATA');
dbms_datapump.metadata_transform ( hdnl, 'OID' , 0 , null ) ;
DBMS_DATAPUMP.START_JOB(hdnl);
END;
/ 

当我在上面执行时sqlplus, I get:

DECLARE
*
ERROR at line 1:
ORA-39001: invalid argument value
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 79
ORA-06512: at "SYS.DBMS_DATAPUMP", line 3507
ORA-06512: at "SYS.DBMS_DATAPUMP", line 3756
ORA-06512: at line 5

我如何让上述工作发挥作用? AWS Doc 非常抽象,我发现的其他内容也没有帮助。


1)使用Amazon RDS主用户账户连接到RDS实例。

2)运行这个pl/sql块

    DECLARE
    hdnl NUMBER;
    BEGIN
    hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=>null);
    DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'sample_copied.dmp', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);
    DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''CORE_API'',''CORE_DAP'', ''CORE_MD'', ''CORE_ST'', ''CORE_BI'', ''CORE_MAPI'', ''CORE_MAPI_LOG'', ''CORE_LEG'')');
    DBMS_DATAPUMP.METADATA_REMAP(hdnl,'REMAP_TABLESPACE','LOG','STORAGE_DATA');
    DBMS_DATAPUMP.METADATA_REMAP(hdnl,'REMAP_TABLESPACE','CORE_LEG_TBS','LEG_DATA');
    DBMS_DATAPUMP.START_JOB(hdnl);
    END;

/ 

3) 您可以开始从源 Oracle 实例导入。 例子

impdp RDS_master_user/password@rds_instance DUMPFILE=sample_copied.dmp   DIRECTORY=DATA_PUMP_DIR parfile=import_parfile

导入parfile

REMAP_TABLESPACE=LOG:STORAGE_DATA
REMAP_TABLESPACE=CORE_LEG_TBS:LEG_DATA
SCHEMAS =CORE_API,CORE_DAP,CORE_MD,CORE_ST,CORE_BI,CORE_MAPI,CORE_MAPI_LOG, CORE_LEG
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 AWS RDS Oracle 数据库中导入 .dmp 文件时出错 的相关文章

随机推荐