簡體   English   中英

在Oracle 12g中使用DBMS_DATAPUMP導入Oracle Dump時出錯

[英]Error while importing oracle dump using DBMS_DATAPUMP in oracle 12g

我一直試圖將轉儲文件導入AWS的RDS下的Oracle 12g中,並且一直都在錯誤以下,我無法弄清發生了什么。 任何幫助或指針,我們將不勝感激。

這是我想要做的。

1)我從客戶那里獲得了一個.dat轉儲文件(不確定他們是如何從oracle導出此轉儲的),我的目標是將其導入到AWS oracle RDS實例。

2)按照如何將Oracle轉儲文件傳輸到AWS RDS實例?

我創建了新的EC2實例並安裝了Oracle Express版本,然后將.dat文件復制到DATA_PUMP_DIR目錄( /u01/app/oracle/admin/XE/dpdump/ )。

3)創建到AWS oracle RDS實例的數據庫鏈接,並能夠使用DBMS_FILE_TRANSFER.PUT_FILE將其復制到rds實例。

4)我可以在oracle rds實例的DATA_PUMP_DIR路徑下看到該文件。

到現在為止還挺好。

5)現在,我正在嘗試使用以下過程將轉儲文件導入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.dat', directory => 'DATA_PUMP_DIR');
DBMS_DATAPUMP.START_JOB(hdnl);
END;
/  

我一直都低於錯誤

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 4087
ORA-06512: at "SYS.DBMS_DATAPUMP", line 4338
ORA-06512: at line 5

我知道該錯誤指向DBMS_DATAPUMP.ADD_FILE()但我無法確定這里出了什么問題。

我嘗試了各種導入選項,但沒有一個幫助。 我已經創建了表空間,並且還確保用戶具有正確的權限。

任何指針,不勝感激。

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 (''SCHEMA_NAME'')');
    DBMS_DATAPUMP.START_JOB(hdnl);
    END;

/ 

3)您可以開始從任何oracle客戶端導入。 例如,實例EC2。

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

import_parfile

SCHEMAS =SCHEMA_NAME

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM