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

概要

Datastream は、Oracle データベースの一部である Oracle LogMiner を利用して、アーカイブされた REDO ログファイルに対してクエリを実行します。これらのファイルには、データベース上のアクティビティの履歴に関する情報が含まれています。

各 Oracle データベースには、一連のオンライン REDO ログファイルがあります。データベース上のすべてのトランザクション レコードがファイルに記録されます。

現在の REDO ログファイルをローテーション(または切り替え)すると、アーカイブ プロセスによってこのファイルがアーカイブ ストレージにコピーされます。一方、データベースは、現在のファイルとして機能する別のファイルを昇格させます。

Datastream の Oracle コネクタは、アーカイブされた Oracle REDO ログファイルから変更データ キャプチャ(CDC)イベントを抽出します。

Oracle の REDO ログファイルの構成パラメータを設定する

この設計は、Datastream の潜在的なレイテンシに大きく影響します。Oracle の REDO ログファイルを頻繁に切り替えたり、より小さいサイズ(256 MB 未満など)を保持したりすると、Datastream が変更を迅速に複製できます。

ログファイルのローテーションの頻度を制御するために設定できる構成パラメータがあります。

  • サイズ: オンライン 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;」と入力します。