https://awsbloglink.wordpress.com
概要
DMS(AWS Database Migration Service)にて、ソースデータベースにOracleを使用する場合のポイントを記載します。
・ターゲットデータベースもOracleを使用
・ソースおよびターゲットはRDS
Migration Typeは以下の3種類ありますが、「changes」について以降の設定が必要となります。
「Migration existing data」は状態の変化ではなくDMSを実行した時点のデータを移行するため、以降の設定は不要となります。
【Migration Type】
・Migration existing data
・Migration existing data and replicate ongoing changes
・Replicate data changes only
・ターゲットデータベースもOracleを使用
・ソースおよびターゲットはRDS
Migration Typeは以下の3種類ありますが、「changes」について以降の設定が必要となります。
「Migration existing data」は状態の変化ではなくDMSを実行した時点のデータを移行するため、以降の設定は不要となります。
【Migration Type】
・Migration existing data
・Migration existing data and replicate ongoing changes
・Replicate data changes only
DMSが促す設定事項
Your source database is Oracle. Replicating ongoing changes requires supplemental logging to be turned on.
Please ensure your archive logs are retained on the server for a sufficient amount of time, (24 hours is usually enough.) To set your archivelog retention on RDS databases you can use the following command: exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours', 24);
解説
Oracle DataGuard、Oracle Golden Gateなど、他データベースへの同期を行うソフトウェアの設定とほぼ同様となります。
・サプリメンタルロギングをOnにする
・アーカイブログの保持期限に余裕を持たせる(24時間あれば余裕)
サプリメンタルロギングOn
ソースデータベースにて以下のコマンドを実行する必要があります。
Oracle での方法 | Amazon RDS メソッド |
---|---|
alter database [add|drop] supplemental log; | exec rdsadmin.rdsadmin_util.alter_supplemental_logging(p_action in varchar2, p_type in varchar2 default NULL); |
alter database add supplemental log data (PRIMARY KEY) columns; | exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','PRIMARY KEY'); |
alter database add supplemental log data (ALL) columns; | exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','ALL'); |
alter database add supplemental log data (UNIQUE) columns; | exec rdsadmin.rdsadmin_util.alter_supplemental_logging('ADD','UNIQUE'); |
アーカイブログ保持期限
RDS限定のコマンド
(EC2に構築したOracleなど、アーカイブログの制御を同様に24時間は保持するようにしてください)
exec rdsadmin.rdsadmin_util.set_configuration('archivelog retention hours', 24);