Oracle データベースの REDO ログファイルの操作

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;と入力します。