Database Migration Service は、Oracle Database の一部である Oracle LogMiner API を活用して、アーカイブされた REDO ログファイルをクエリします。これらのファイルには、データベース上のアクティビティの履歴に関する情報が含まれています。各 Oracle データベースには、一連のオンライン REDO ログファイルがあります。データベース上のすべてのトランザクション レコードがファイルに記録されます。
現在の REDO ログファイルがローテーション(または切り替え)されると、アーカイブ プロセスによって このファイルがアーカイブ ストレージにコピーされます。その間、データベースは別のファイルを現在のファイルとして昇格させます。
Database Migration Service が Oracle LogMiner API を使用する場合、オンライン REDO ログファイルにはアクセスせず、アーカイブされたログファイルのみを操作します。アーカイブされた REDO ログファイルにアクセスすると、移行プロセスにレイテンシが追加されます。このページでは、レイテンシの影響を制御するための Oracle ソース データベースの推奨構成について説明します。
Oracle の REDO ログファイルの構成パラメータを設定する
この設計は、Database Migration Service の潜在的なレイテンシに大きな影響を与えます。Oracle の redo ログファイルが頻繁に切り替えられるか、小さいサイズ(256 MB 未満など)に保たれている場合、Database Migration Service は変更をより迅速に複製できます。
ログファイルのローテーション頻度を制御するために設定できる構成パラメータがあります。
サイズ: オンライン redo ログファイルの最小サイズは 4 MB です。デフォルトのサイズはオペレーティング システムによって異なります。ログファイルのサイズを変更するには、新しいオンライン ログファイルを作成し、古いログファイルを削除します。
オンライン REDO ログファイルのサイズを確認するには、次のクエリを実行します。
SELECT GROUP#, STATUS, BYTES/1024/1024 MB FROM V$LOG
- 時間:
ARCHIVE_LAG_TARGETパラメータには、プライマリ データベースの現在のログを使用できる時間の上限(秒単位)を指定します。これは、ログのアーカイブにかかる時間を考慮しているため、正確なログ切り替え時間ではありません。デフォルト値は
0(上限なし)です。1800(30 分)以下の妥当な値を指定することをおすすめします。次のコマンドを使用して、初期化中またはデータベースの起動中に
ARCHIVE_LAG_TARGETパラメータを設定できます。SHOW PARAMETER ARCHIVE_LAG_TARGET;このコマンドは、現在のログがスパンするのにかかる秒数を表示します。ALTER SYSTEM SET ARCHIVE_LAG_TARGET = number-of-seconds;このコマンドを使用して上限を変更します。たとえば、上限を 10 分(600 秒)に設定するには、「
ALTER SYSTEM SET ARCHIVE_LAG_TARGET = 600;」と入力します。