0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?