本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Oracle Data Pump 將內部部署 Oracle 資料庫遷移至 Amazon RDS for Oracle
由 Mohan Annam (AWS) 和 Brian motzer (AWS) 建立
環境:PoC 或試行 | 來源:資料庫:關聯性 | 目標:Amazon RDS for Oracle |
R 類型:Replatform | 工作負載:Oracle | 技術:遷移;資料庫 |
AWS 服務:Amazon RDS |
Summary
此模式說明如何使用 Oracle Data Pump,將 Oracle 資料庫從內部部署資料中心遷移至適用於 Oracle 資料庫執行個體的 Amazon Relational Database Service (Amazon RDS)。
此模式涉及從來源資料庫建立資料傾印檔案、將檔案儲存在 Amazon Simple Storage Service (Amazon S3) 儲存貯體中,然後將資料還原至 Amazon RDS for Oracle 資料庫執行個體。當您使用 AWS Database Migration Service (AWS DMS) 進行遷移時,此模式非常有用。
先決條件和限制
先決條件
產品版本
架構
來源技術堆疊
目標技術堆疊
來源和目標架構
AWS 服務
其他工具
史詩
任務 | 描述 | 所需的技能 |
---|
建立儲存貯體。 | 若要建立 S3 儲存貯體,請遵循AWS文件 中的指示。 | AWS 系統管理員 |
任務 | 描述 | 所需的技能 |
---|
設定IAM許可。 | 若要設定許可,請遵循AWS文件 中的指示。 | AWS 系統管理員 |
任務 | 描述 | 所需的技能 |
---|
建立目標 Amazon RDS for Oracle 資料庫執行個體。 | 若要建立 Amazon RDS for Oracle 執行個體,請遵循AWS文件 中的指示。 | AWS 系統管理員 |
將角色與資料庫執行個體建立關聯。 | 若要將角色與執行個體建立關聯,請遵循AWS文件 中的指示。 | DBA |
任務 | 描述 | 所需的技能 |
---|
建立使用者。 | 從 Oracle SQL Developer 或 SQL*Plus 連線至目標 Amazon RDS for Oracle 資料庫,並執行下列SQL命令,以建立要匯入結構描述的使用者。 create user SAMPLE_SCHEMA identified by <PASSWORD>;
grant create session, resource to <USER NAME>;
alter user <USER NAME> quota 100M on users;
| DBA |
任務 | 描述 | 所需的技能 |
---|
建立資料傾印檔案。 | 若要建立名為 sample.dmp 的傾印檔案DATA_PUMP_DIR ,以匯出SAMPLE_SCHEMA 使用者,請使用下列指令碼。 DECLARE
hdnl NUMBER;
BEGIN
hdnl := dbms_datapump.open(operation => 'EXPORT',
job_mode => 'SCHEMA',
job_name => NULL);
dbms_datapump.add_file( handle => hdnl,
filename => 'sample.dmp',
directory => 'DATA_PUMP_DIR',
filetype => dbms_datapump.ku$_file_type_dump_file);
dbms_datapump.add_file(handle => hdnl,
filename => 'export.log',
directory => 'DATA_PUMP_DIR',
filetype => dbms_datapump.ku$_file_type_log_file);
dbms_datapump.metadata_filter(hdnl, 'SCHEMA_EXPR', 'IN (''SAMPLE_SCHEMA'')');
dbms_datapump.start_job(hdnl);
END;
/
透過檢閱本機DATA_PUMP_DIR 目錄中export.log 的檔案來檢閱匯出詳細資訊。 | DBA |
任務 | 描述 | 所需的技能 |
---|
將資料傾印檔案從來源上傳至 S3 儲存貯體。 | 使用 AWS CLI執行下列命令。 aws s3 cp sample.dmp s3://<bucket_created_epic_1>/
| DBA |
任務 | 描述 | 所需的技能 |
---|
將資料傾印檔案下載至 Amazon RDS | 若要將傾印檔案sample.dmp 從 S3 儲存貯體複製到 Amazon RDS for Oracle 資料庫,請執行下列SQL命令。在此範例中,sample.dmp 檔案會從 S3 儲存貯體下載my-s3-integration1 至 Oracle 目錄 DATA_PUMP_DIR 。請確定已為RDS執行個體配置足夠的磁碟空間,以容納資料庫和匯出檔案。 -- If you want to download all the files in the S3 bucket remove the p_s3_prefix line.
SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(
p_bucket_name => 'my-s3-integration',
p_s3_prefix => 'sample.dmp',
p_directory_name => 'DATA_PUMP_DIR')
AS TASK_ID FROM DUAL;
上一個命令會輸出任務 ID。若要檢閱任務 ID 中的資料來檢閱下載狀態,請執行下列命令。 SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-<task_id>.log'));
若要查看DATA_PUMP_DIR 目錄中的檔案,請執行下列命令。 SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp
FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;
| AWS 系統管理員 |
任務 | 描述 | 所需的技能 |
---|
將結構描述和資料還原至 Amazon RDS。 | 若要將傾印檔案匯入sample_schema 資料庫結構描述,請從 SQL Developer 或 SQL*Plus 執行下列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.dmp', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);
DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'import.log', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_log_file);
DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''SAMPLE_SCHEMA'')');
DBMS_DATAPUMP.START_JOB(hdnl);
END;
/
若要從匯入中查看日誌檔案,請執行下列命令。 SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('DATA_PUMP_DIR','import.log'));
| DBA |
任務 | 描述 | 所需的技能 |
---|
列出並清除匯出檔案。 | 列出並移除DATA_PUMP_DIR 目錄中的匯出檔案,執行下列命令。 -- List the files
SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;
-- Remove the files
EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','sample.dmp');
EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','import.log');
| AWS 系統管理員 |
相關資源