#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 |
|outbound rules|
|:--|:--:|--:|--:|
###2.DB側
inbound rules | |||
---|---|---|---|
type | protocol | Port | Source |
Oracle | TCP | 1521 | 10.0.0.0/24 |
|outbound rules|
|:--|:--:|--:|--:|
##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コマンドライン起動
コマンドプロンプトをさがしてから、起動します。
cmd
##2.Oracle Databaseにユーザー名SYSDBAで接続します
sqlplus USER as 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.退出
SQL> EXIC;
##6.DMPファイルエクスポート
expdp BIZSLC/s#b14orcl tables=B_BPW_D_ANNOTATION dumpfile=testfile2.dmp directory=testdir logfile=testlog2.log;
##7.タンプーファイル取得
EXPDAT00000.DMP
##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
#これ以上で移行完了しました。