LoginSignup
0
0

More than 3 years have passed since last update.

オンプレミス環境からRDS for Oracle移行手順

Last updated at Posted at 2020-09-10

1.仕組み図

111111.PNG

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

これ以上で移行完了しました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0