本地Oracle數據上傳到AWS的RDS

    如何安裝Oracle跟創建Oracle的AWS RDS在此就不再詳述。只是簡單的在本地Oracle創建一些簡單的數據,後嘗試導入RDS.


·         

Step 1:賦予權限

登錄到本地Oracle輸入下面命令:


SQL> grant unlimited tablespace to SCOTT;
SQL> grant read,write on directory data_pump_dir to SCOTT;
SQL> grant execute on dbms_datapump to SCOTT;
SQL> @/usr/oracle/dumpscott.sql

PL/SQL procedure successfully completed.


dumpscott.sql 內容:

DECLARE
hdnl NUMBER;
BEGIN
hdnl := DBMS_DATAPUMP.open( operation => 'EXPORT', job_mode => 'SCHEMA', job_name=>null);
DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'scott.dmp', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);
DBMS_DATAPUMP.add_file( handle => hdnl, filename => 'exp.log', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_log_file);
DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''SCOTT'')');
DBMS_DATAPUMP.start_job(hdnl);
END;
/
Step 4: 使用 DBMS_FILE_TRANSFER 傳輸 dump file 到 Amazon RDS DB

BEGIN
  DBMS_FILE_TRANSFER.PUT_FILE(
    source_directory_object       => 'DATA_PUMP_DIR',
    source_file_name              => 'scott.dmp',
    destination_directory_object  => 'DATA_PUMP_DIR',
    destination_file_name         => 'scott_copied.dmp',
    destination_database          => 'to_rds'
  );
END;
/



在sqlplus則行該SQL文件:

SQL> @/usr/oracle/putscott.sql

PL/SQL procedure successfully completed.


Step 4:利用Data pump 把數據import到RDS

impdp <username>@<TNS_ENTRY> DUMPFILE=user1copied.dmpDIRECTORY=DATA_PUMP_DIR full=y

輸入如下內容:

impdp user@RDS_DB DUMPFILE=scott_copied.dmp DIRECTORY=DATA_PUMP_DIR full=y


提示輸入密碼後將自動完成上傳導入過程。然後連接到RDS可以查詢到SCOTT的emp表等草操作。此處會有兩個error不過可以忽略


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章