Oracle GoldenGate CDCクリーンアップ・プロセスの詳細

Oracle GoldenGate CDCクリーン・アップ・ジョブは、デフォルトでCDC Extractが必要になります(ExtractがTRANLOGOPTIONS MANAGECDCCLEANUPにデフォルト設定されているため)。これは、Windowsバッチ・ファイル(ogg_cdc_cleanup_setup.bat)からインストールされ、SQL Serverデータベースに接続して必要なオブジェクトとジョブを作成するためにsqlcmdを使用します。

CDCキャプチャが有効な各データベースに1つのジョブが必要なため、このドキュメントの「Oracle GoldenGateのためのデータベースの準備 — CDCキャプチャ」の項のステップに従って、ジョブとオブジェクトを作成する必要があります。

ユーティリティの追加オプションについては次の各項で説明します。

このステップには、SQL Serverのシステム管理者(sysadmin)ロールのメンバーであるSQL Serverで認証されたデータベース・ユーザーが必要です。Windows認証は、.batバッチ・ファイルではサポートされません。

データベースからのExtractの削除

Oracle GoldenGate CDCクリーンアップ・オブジェクト表がある場合、そのデータベースに対して起動された各CDC Extractにより、OracleGGExtractCheckpoint表にエントリが作成されます。このエントリは特定のExtractのある時点のリカバリ・チェックポイントをトラッキングし、Oracle GoldenGate CDCクリーンアップ・タスクのカットオフLSNとして使用します。複数のExtractが実行中の場合、それぞれが表のより新しいリカバリ・チェックポイントをロギングしますが、OracleGGExtractCheckpoint表のエントリを削除せずに、システムから1つのExtractが削除されていると、すべてのCDCステージング表について、削除されたExtractの古いリカバリ・チェックポイントより新しいデータはパージされません。したがって、データベースからExtractを削除する場合、データベースに対して複数のExtractが実行されているときは、次のステップに従って、OracleGGExtractCheckpoint表からExtractを削除してください。
  1. GGSCIからDBLOGINを使用してデータベースにログインします。

    DBLOGIN SOURCEDB dsn_name USERIDALIAS alias_name

  2. Extractを停止します。

    STOP EXTRACT extract_name

  3. Extractを削除します。

    DELETE EXTRACT extract_name

データベースにログインすると、DELETE EXTRACTコマンドによって、OracleGGExtractCheckpoint表からその特定のExtractのエントリが削除されます。

Oracle GoldenGate CDCクリーンアップ・ジョブの変更

データベースのOracle GoldenGate CDCクリーン・アップ・ジョブのデフォルトのスケジュール、保存期間および操作バッチ・サイズに基づき、ジョブの実行間隔は10分ごと、データ保存ポリシーは72時間(4320分として表示)になり、保存ポリシーが満たされるまでトランザクションごとに500レコードのバッチでパージしてExtractのリカバリ・チェックポイント・データを超えないようにします。

顧客環境での変化やデータ表のデータ保存要件の変更のために、これらのプロパティを調整してパージ・バッチ・サイズを増やしたり、保存ポリシーおよびジョブ実行時スケジュールを調整することが必要になる場合があります。

ジョブの実行頻度を調整するには、SQL Serverエージェント内のOracleGGCleanup_dbname_Jobジョブのスケジュールを手動で変更します。保存期間またはパージ・バッチ・サイズを調整する必要がある場合は、SQL Serverエージェント内のOracleGGCleanup_dbname_Jobジョブのジョブ・ステップを手動で編集する必要があります。ジョブ・ステップは2つのパラメータをクリーン・アップ・ストアド・プロシージャに渡します。@retention_minutesの値を変更して必要に応じてデータ保存ポリシーを調整したり、@threshold値を変更してパージ・バッチ・サイズを増減することができます。トランザクションの多い環境では、@threshold値を10000などの数値に増やすことが必要になる場合があります。各サイクル内でジョブの実行にかかる時間のモニタリングを利用して、有効な@threshold値を決定できます。

Oracle GoldenGate CDCクリーンアップ・ジョブの削除

Oracle GoldenGate CDCクリーンアップ・ジョブおよび関連付けられたオブジェクトが不要になり、削除する必要がある場合は次のステップを行います。

1. コマンド・プロンプトを開き、Oracle GoldenGateインストール・フォルダを変更します。

2. ogg_cdc_cleanup_setup.batファイルを実行し、次の変数値を指定します。

ogg_cdc_cleanup_setup.bat dropJob userid password databasename servername\instancename schema

例: ogg_cdc_cleanup_setup.bat dropJob ggsuser ggspword db1 server1\inst1 ogg