CDCステージング・データのパージ
サプリメンタル・ロギングを有効にすると、Extractでトランザクションを再構成するために必要なデータが、一連のSQL Server CDCシステム表に格納され、トランザクション内で操作の順序を追跡するために使用されるOracle GoldenGateオブジェクトも格納されます。これらの表は、データベース内のデータ格納量を減らすために定期的なパージが必要です。TRANDATA
を使用したサプリメンタル・ロギングの有効化の一環として、SQL Serverによってそれ固有のチェンジ・データ・キャプチャ・クリーン・アップ・ジョブが作成されますが、このジョブでは、ExtractでこれらのCDCシステム表のデータが引き続き必要になる場合がありそのデータがExtractで取得される前に削除される可能性があることは考慮されていません。
処理中にExtractが必要とするデータがCDCシステム表から削除されている場合、次のいずれかの修正処理が必要になる可能性があります。
-
Extractを変更して、CDCデータが使用可能になった後の時点から取得します(さらにターゲットで起こり得るデータ損失を受け入れます)。
-
ソース表とターゲット表を再同期してから、Oracle GoldenGate環境を再開します。
Oracle GoldenGate for SQL Serverでは、CDCデータがExtractによる処理前に削除されるという状況に対処するために、チェンジ・データのパージタスクが作成されている必要があります。このタスクでは、CDCステージング・データがパージされますが、Extractでまだ処理されていないデータはパージされません。
Oracle GoldenGateのチェンジ・データのパージタスクを作成するには、サプリメンタル・ロギング(TRANDATA
)を有効にした直後、かつExtractを起動する前に、次の手順を実行します。チェンジ・データのパージタスクは、Administration Service内で実行され、初めて作成されたときにSQL Server CDCクリーン・アップ・ジョブを自動的に削除します。Administration Serviceによって実行されるため、「変更データのパージ」タスク用のSQL Serverエージェント・ジョブはありません。したがって、クリーン・アップ・タスクが正しく機能するためには、Administration Serviceが実行されている必要があります。
チェンジ・データのパージ・タスクを作成するには:
TRANDATA
を追加した後、Extractを起動する前に、チェンジ・データのパージタスクを作成してデータベースでCDCクリーン・アップが実行されるようにする必要があります。これを行うには、次のいずれかを実行します。
- 手動REST APIリクエスト
- 管理サーバーWeb UI
- 左側のメニューから「構成」をクリックして「構成」ページを開きます。
- 「構成」ページの「タスク」をクリックして、「タスク」ページを開きます。
- 「タスク」ページでチェンジ・データのパージをクリックします。
- プラス記号をクリックしてフォームを表示し、必須フィールドに入力して新しいチェンジ・データのパージタスクを作成します。
- 操作名: 作成するパージ・タスクの名前。
- 有効: そのタスクを、有効になるように設定します(デフォルト値)。
- 資格証明ドメインと資格証明別名: ソース・データベースの既存の資格証明別名を選択します。
- ルールの保持: この値により、ソース・データベースに保持するCDCステージング・データの量(時間数か日数)が決まります。デフォルト値は、Oracle GoldenGateのバージョンに応じて3日か1時間になります。CDCデータの保存期間を短くすると、データベースに格納されるCDCステージング・データの量が減りますが、ユーザーがExtractをステージング表内のあるデータより前の時点に戻すことができる可能性が狭まります。
- パージ頻度: この値により、タスクの実行頻度を表します。デフォルト値は10分単位です。ユーザー・アクティビティが多い期間にパージ・タスクによるオーバーヘッドがデータベース・パフォーマンスに影響する場合を除き、デフォルト値のままにすることをお薦めします。
ノート:
ソース・データベースごとに「変更データのパージ」タスクを1つのみ作成します。Oracle GoldenGate CDCクリーンアップ・ジョブの詳細は、CDCキャプチャ方法の操作に関する考慮事項にあります。