本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 RDS for Oracle 和 Amazon 檔案系統之間傳輸EFS檔案
若要在 RDS for Oracle 執行個體和 Amazon EFS 檔案系統之間傳輸檔案,請建立至少一個 Oracle 目錄,並設定EFS檔案系統許可來控制資料庫執行個體的存取。
建立 Oracle 目錄
若要建立 Oracle 目錄,請使用程序 rdsadmin.rdsadmin_util.create_directory_efs
。 程序具有下列參數。
參數名稱 | 資料類型 | 預設 | 必要 | 描述 |
---|---|---|---|---|
|
VARCHAR2 |
– |
是 |
Oracle 目錄的名稱。 |
|
VARCHAR2 |
– |
是 |
EFS 檔案系統的路徑。路徑名稱的字首使用模式 例如,如果您EFS的檔案系統名為
|
假設您在EFS檔案系統 /datapump1
上建立名為 的子目錄fs-1234567890abcdef0
。下列範例會建立 Oracle 目錄DATA_PUMP_DIR_EFS
,該目錄會指向EFS檔案系統上的/datapump1
目錄。p_path_on_efs
參數的檔案系統路徑值以字串 /rdsefs-
為字首。
BEGIN rdsadmin.rdsadmin_util.create_directory_efs( p_directory_name => 'DATA_PUMP_DIR_EFS', p_path_on_efs => '/rdsefs-
fs-1234567890abcdef0
/datapump1
'); END; /
往返EFS檔案系統傳輸資料:範例
下列範例使用 Oracle Data Pump 將名為 MY_TABLE
的資料表匯出至檔案 datapump.dmp
。此檔案位於EFS檔案系統上。
DECLARE v_hdnl NUMBER; BEGIN v_hdnl := DBMS_DATAPUMP.OPEN(operation => 'EXPORT', job_mode => 'TABLE', job_name=>null); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump.dmp', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_dump_file); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump-exp.log', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_log_file); DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')'); DBMS_DATAPUMP.START_JOB(v_hdnl); END; /
下列範例使用 Oracle Data Pump,從檔案 datapump.dmp
中匯入名為 MY_TABLE
的資料表。此檔案位於EFS檔案系統上。
DECLARE v_hdnl NUMBER; BEGIN v_hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'TABLE', job_name => null); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump.dmp', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_dump_file ); DBMS_DATAPUMP.ADD_FILE( handle => v_hdnl, filename => 'datapump-imp.log', directory => 'DATA_PUMP_DIR_EFS', filetype => dbms_datapump.ku$_file_type_log_file); DBMS_DATAPUMP.METADATA_FILTER(v_hdnl,'NAME_EXPR','IN (''MY_TABLE'')'); DBMS_DATAPUMP.START_JOB(v_hdnl); END; /
如需詳細資訊,請參閱在 Amazon 上將資料匯入 Oracle RDS。