1.仕組み図
2.AWS環境構築
1.VPC
VPC |
10.0.0.0/16 |
リネーム |
EC2 Subnet1 |
10.0.0.0/24 |
sb-1a-om-ec2 |
EC2 Subnet2 |
10.0.1.0/24 |
sb-1c-om-ec2 |
RDS Subnet3 |
10.0.2.0/24 |
sb-1a-om-db |
RDS Subnet4 |
10.0.3.0/24 |
sb-1c-om-db |
2.internet Gateway 作成
VPC |
attach |
VPC |
10.0.0.0/16 |
1.Route Table
1.InterGateway 追加
Route |
attach |
送信先 |
ターゲット |
0.0.0.0/0 |
igw-xxxxxxxxxxx |
2.サブネットの関連付け
Subnet |
zone |
10.0.0.0/24 |
1a |
10.0.1.0/24 |
1c |
3.RDS Subnet group
availability‐zone |
subnet |
ap-northeast-1c |
10.0.3.0/24 |
ap-northeast-1a |
10.0.2.0/24 |
4.Security Group
1.EC2側
inbound rules |
|
|
|
type |
protocol |
Port |
Source |
http |
TCP |
80 |
My IP |
ssh |
TCP |
22 |
My IP |
2.DB側
inbound rules |
|
|
|
type |
protocol |
Port |
Source |
Oracle |
TCP |
1521 |
10.0.0.0/24 |
4.EC2
EC2 |
「無料プラン」 |
バージョン |
/Windows_Server-2016 |
インスタンスタイプ |
t2.micro |
5.RDS for Oracle
1.RDS Subnet group
RDS Subnet group |
|
availability‐zone |
subnet「om-db-sbg」 |
ap-northeast-1c |
10.0.3.0/24 |
ap-northeast-1a |
10.0.2.0/24 |
2.RDS オプショングループ
RDS オプショングループ |
|
名前 |
subnet「om-db-sbg」 |
説明 |
10.0.3.0/24 |
エンジン |
10.0.2.0/24 |
メジャーエンジンバージョン |
10.0.2.0/24 |
オプションの追加 |
|
オプション名 |
S3_INTEGTATION |
バージョン |
1 |
すぐに適用 |
Yes |
6.S3
7.IAM
1.新規ポリシー
Policy「S3」 |
s3-integration-policy |
GetObject |
Amazon S3 バケットから Amazon RDS へのファイルの転送に必要。 |
ListBucket |
Amazon S3 バケットから Amazon RDS へのファイルの転送に必要。 |
PutObject |
Amazon RDS から Amazon S3 バケットへのファイルの転送に必要。 |
2.新規ロール
Role「RDS」 |
s3-integration-policy |
RoleとPolicy連携 |
|
3. ダンプファイル抽出「移行元」
1.Dosコマンドライン起動
コマンドプロンプトをさがしてから、起動します。
2.Oracle Databaseにユーザー名SYSDBAで接続します
3.ディレクトリオブジェクト作成
SQL> CREATE OR REPLACE DIRECTORY dpump_dir1 AS '/home/oracle/oradata/dpump_dir';
4.権限付与
SQL> GRANT READ,WRITE ON DIRECTORY dpump_dir1 TO scott;
5.退出
6.DMPファイルエクスポート
expdp BIZSLC/s#b14orcl tables=B_BPW_D_ANNOTATION dumpfile=testfile2.dmp directory=testdir logfile=testlog2.log;
7.タンプーファイル取得
8.S3 Bucketへのダウンロード
4.タンプーファイル転送「移行先」
1.Oracle SQL Developer登録
コネクションネムーとユーザーとパスワード入力
2.S3へのアップロード
1.S3へのアップロード「移行元から移行先へ」
SQL> SELECT rdsadmin.rdsadmin_s3_tasks.upload_to_s3(
p_bucket_name => 'oraclemigration',
p_directory_name => 'DATA_PUMP_DIR',
AS TASK_ID FROM DUAL;
TASK_ID
--------------------------------------------------------------------------------
1562135977873-3
2.ログの確認
RDSとS3接続するために、ログを調査します。接続できるかどうか確認します。
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-1562135977873-33.log'));
TEXT
--------------------------------------------------------------------------------
2019-07-03 06:39:39.129 UTC [INFO ] File #1: Uploading the file /rdsdbdata/datap
ump/scott.dmp to Amazon S3 with bucket name orcl-test and key orcl-test/scott.dmp
2019-07-03 06:39:41.300 UTC [INFO ] The file /rdsdbdata/datapump/scott.dmp was uploaded to Amazon S3 with bucket name orcl-test and key orcl-test/scott.dmp.
2019-07-03 06:39:41.300 UTC [INFO ] The task finished successfully.
3.DATA_PUMP_DIRのファイルを確認「移行元から」
select * from TABLE(RDSADMIN.RDS_FILE_UTIL.LISTDIR('DATA_PUMP_DIR')) ORDER BY MTIME;
FILENAME TYPE FILESIZE MTIME
-------------------- ---------- ---------- ---------
EXPDAT0807.DMP file 26267648 03-JUL-19 ★ダウンロードされた
datapump/ directory 4096 03-JUL-19
4.ログ情報確認
SQL> SELECT TEXT FROM TABLE(RDSADMIN.RDS_FILE_UTIL.READ_TEXT_FILE('DATA_PUMP_DIR','imp_scott.log'));
TEXT
--------------------------------------------------------------------------------
Master table "TEST"."SYS_IMPORT_SCHEMA_01" successfully loaded/unloaded
Starting "TEST"."SYS_IMPORT_SCHEMA_01":
※移行完了後ログ不要になるので削除
1.移行ログ
SQL> exec UTL_FILE.FREMOVE('DATA_PUMP_DIR','imp_scott.log');
--------------------------------------------------------------------------------
PL/SQL procedure successfully completed.
2.タンプーファイル削除
SQL> exec UTL_FILE.FREMOVE('DATA_PUMP_DIR','scott_copy.dmp');
--------------------------------------------------------------------------------
PL/SQL procedure successfully completed.
3.もう一回DATA_PUMP_DIR確認します。
SQL> select * from TABLE(RDSADMIN.RDS_FILE_UTIL.LISTDIR('DATA_PUMP_DIR')) ORDER BY MTIME;
--------------------------------------------------------------------------------
datapump/ directory 4096 02-JUL-19
これ以上で移行完了しました。