CDCキャプチャ方法の操作に関する考慮事項

SQL Server CDCキャプチャのオプション、機能および推奨設定について学習します。

SQL Serverのチェンジ・データ・キャプチャのチューニング

次の情報は、Extractのキャプチャ・パフォーマンスの向上に役立ちます。

Oracle GoldenGate CDCオブジェクトのバージョニング

Oracle GoldenGateには、サプリメンタル・ロギングを有効化するときにOracle GoldenGateによって作成されるCDCオブジェクトをトラッキングするための、バージョン・トラッキング・サブシステムが備わっています。この種のオブジェクトは、次のとおりです。

SQL Serverチェンジ・データ・キャプチャでサポートされているExtractのパラメータとサポートされていないパラメータ

CDC Extractで使用されるパラメータについて学習します。次の表に、サポートされているパラメータとサポートされていないパラメータを示します。

サポートされているパラメータ サポートされないパラメータ
TRANLOGOPTIONS TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT/NOMANAGESECONDARYTRUNCATIONPOINT/ACTIVESECONDARYTRUNCATIONPOINT
ALWAYSONREADONLYROUTING -
TRANLOGOPTIONS LOB_CHUNK_SIZE -
TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUPTRANLOGOPTIONS -
TRANLOGOPTIONS QUERYTIMEOUT -
TRANLOGOPTIONS TRANCOUNT -

トランザクション・オプション LOB_CHUNK_SIZE

ラージ・オブジェクトをサポートするために、ExtractパラメータLOB_CHUNK_SIZEがCDCキャプチャ方法に追加されました。大きいLOBデータ・サイズの場合、LOB_CHUNK_SIZEをデフォルトの4000バイトから最大65535バイトまで調整できるため、フェッチ・サイズを大きくして、LOB全体をフェッチするために必要なトリップ回数を削減します。

例: TRANLOGOPTIONS LOB_CHUNK_SIZE 8000

TRANLOGOPTIONS MANAGECDCCLEANUP/NOMANAGECDCCLEANUP

ExtractパラメータMANAGECDCCLEANUP/NOMANAGECDCCLEANUPは、Oracle GoldenGate CDCクリーンアップ・ジョブでリカバリ・チェックポイント・データを維持するかどうかをExtractに対して指示するために、CDCキャプチャ方法で使用されます。リカバリ・チェックポイントは維持されますが、SQL Server CDCクリーン・アップ・ジョブも有効になっていない場合、ct表のパージは実行されません。これはパージに必要です。

デフォルト値はMANAGECDCCLEANUPです。これは明示的にExtractにリストする必要はありません。ただし、Extractを起動する前にOracle GoldenGate CDCクリーンアップ・ジョブを作成する必要があります。MANAGECDCCLEANUPはすべての本番環境で使用する必要があります。NOMANAGECDCCLEANUPは必要に応じて一時的な実装またはテスト実装で使用できます。

例: TRANLOGOPTIONS MANAGECDCCLEANUP

TRANLOGOPTIONS EXCLUDEUSER/EXCLUDETRANS

SQL ServerのCDCキャプチャ・ジョブは、ユーザー情報またはトランザクションに関連付けられたトランザクション名は取得しません。この情報はCDCステージング表のログに記録されないため、Extractでは特定のユーザーのDMLまたは特定のトランザクション名のDMLを除外できません。したがって、 EXCLUDEUSERおよびEXCLUDETRANSパラメータはCDCキャプチャ処理では無効です。

TRANLOGOPTIONS管理条件切捨てポイント/NOMANAGES条件切捨てポイント/アクティビティ条件切捨てポイント

SQL Serverチェンジ・データ・キャプチャ・ジョブは、Oracle GoldenGate CDCキャプチャ方法を使用する場合にトランザクション・ログからデータをキャプチャする唯一のプロセスである。2次切捨てポイントの管理はExtractでは処理されません。また、チェンジ・データ・キャプチャのExtractの場合、これらのパラメータは無効です。

トランザクション・オプションALWAYSONREADONLYROUTING

ALWAYSONREADONLYROUTINGパラメータを使用すると、SQL Server用のExtractでは、Always On可用性グループ・リスナーに接続しているときに、その読取り専用処理を使用可能な読取り専用セカンダリにルーティングすることができます。

TRANLOGOPTIONS問合せタイムアウト

SQL Serverへの問合せで、タイムアウト・エラー・メッセージを報告するまでに結果を待機する時間を指定します。このオプションは整数値を使用して秒数を表します。デフォルトの問合せタイムアウト値は300秒(5分)です。最小値は0秒です(無限タイムアウト)。最大値は2147483645秒です。

TRANLOGOPTIONSトランザクション数

SQL Serverのチェンジ・データ・キャプチャのステージング表からデータをプルするための、Extractによる1コール当たりの処理されるトランザクションの数を調整できます。トランザクション・ワークロードに基づいて、この値を調整すると、キャプチャ率のスループットが向上する可能性がありますが、すべてのワークロードがよい影響を受けるわけではありません。最小値は1、最大値は100です。デフォルトは10です。

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

Oracle GoldenGateのチェンジ・データのパージタスクは、デフォルトで、CDC Extractに必要になります(ExtractがデフォルトでTRANLOGOPTIONS MANAGECDCCLEANUPに設定されているため)。

CDCキャプチャでは、データベースごとにパージ・タスクが1つのみ有効になっている必要があります。また、このドキュメントの「Oracle GoldenGateのためのデータベースの準備」の項に記載されているステップを使用してタスクを作成する必要があります。

Oracle GoldenGateのチェンジ・データのパージタスクの変更

デフォルトのパージ・タスク頻度スケジュールは10分単位の実行であり、Oracle GoldenGateのチェンジ・データのパージタスクのデータ保存期間は、インストールされているOracle GoldenGateのバージョンに応じて3日か1時間のデータ保存ポリシーとなります。

顧客固有の要件のために、保持期間(「ルールの保持」オプション)およびタスク実行時スケジュール(「パージ頻度」オプション)を調整する必要がある場合があります。

「ルールの保持」オプションにより、ソース・データベースに保持するCDCステージング・データの量(時間数か日数)が決まります。デフォルト値は、インストールされているOracle GoldenGateのバージョンに応じて、3日か1時間になります。CDCデータの保存期間を短くすると、データベースに格納されるCDCステージング・データの量が減りますが、ユーザーがExtractをステージング表内のあるデータより前の時点に戻すことができる可能性が狭まります。通常は、既存のExtractを以前の時点に戻す必要はありません。そのため、より多くのステージング・データをデータベース内に残す必要がある特殊な状況の場合を除き、新しいデフォルト設定である1時間を使用することをお薦めします。ただし、この値を長い保存期間から非常に短い保存期間に変更すると、次回のタスク・スケジュール実行時に大量のトランザクション・ログ領域とシステム・オーバーヘッドが必要になる可能性があることに注意してください。したがって、目的の終了値に達するまで、時間の経過とともにKeep Rule値をゆっくり減らすことをお薦めします。

「パージ頻度」は、タスクの実行頻度を表します。デフォルトは10分ごとです。ユーザー・アクティビティが多い期間にパージ・タスクによるオーバーヘッドがデータベース・パフォーマンスに影響する場合を除き、デフォルト値のままにすることをお薦めします。

既存のチェンジ・データのパージ・タスクを変更するには、Administration Serviceの左側にあるメニューから「構成」に移動して、「構成」ページを開きます。1. 「構成」ページの「タスク」をクリックして、「タスク」ページを開きます。

  1. 「タスク」ページで「チェンジ・データのパージ」をクリックします。

  2. 既存のタスクの横にある「タスクの変更」アイコンをクリックします。

  3. 必要に応じて、「ルールの保持」オプションや「パージ頻度」オプションの値を変更します。

  4. 変更内容を保存するには、「送信」をクリックします。

Oracle GoldenGateのチェンジ・データのパージタスクの削除

データベースのチェンジ・データのパージタスクの削除は、その特定のデータベースに対するキャプチャが構成されているExtractがない場合にのみ実行されるようにする必要があります。

既存のチェンジ・データのパージ・タスクを削除するには、Administration Serviceの左側にあるメニューから「構成」オプションに移動して、「構成」ページを開きます。「構成」ページの「タスク」をクリックして、「タスク」ページを開きます。

  1. 「タスク」ページで「チェンジ・データのパージ」をクリックします。

  2. 削除するタスクの横にある「タスクの削除」アイコンをクリックします。

クラシックExtractからCDC Extractへの更新

Oracle GoldenGate 12c (12.3.0.1)以前のクラシックExtractからOracle GoldenGate 26ai CDC Extractへの変更を予定している場合は、クラシックExtractのインストール方法を使用して実装したサプリメンタル・ロギングを削除する必要があります。また、CDC Extractのインストール・バイナリを使用してサプリメンタル・ロギングを再度有効にするには、この2つのバージョンでTRANDATAを有効にするコールが異なり、CDC ExtractでクラシックExtractのTRANDATAの実装がサポートされないためです。

次の一般的なガイドラインに従ってサプリメンタル・ロギングを削除してから再度有効にしてください。本番システムでクラシックからCDC Extractに移行する場合は、特別な配慮とプランニングが必要です。ここに示す情報は、すべての要件について説明するものではありません。サプリメンタル・ロギングに関する一般的な要件としてのみ提供される情報です。

  1. ログに残ったすべてのデータがクラシックExtractによって処理されていて、正常に停止できることを確認します。

  2. その他のレプリケーション・コンポーネントまたはCDCコンポーネントに関してExtractを実行した方法によって、次のいずれかを実行します。

    • Extractが、同じデータベース上でSQL Serverトランザクション・レプリケーションまたはOracle以外のCDC構成と平行で同時に実行されなかった場合は、Management Studioで問合せセッションを開いてソース・データベースに対し次の文を発行し、すべてのCDCまたはレプリケーション・コンポーネントを無効にして削除し、2次切捨てポイントを消去します。

      EXEC sys.sp_cdc_disable_db

    • Extractが同じデータベースに対してSQL Serverトランザクション・レプリケーションまたはOracle以外のCDC構成と並行して実行されていた場合は、クラシックExtractのインストール・フォルダからAdmin Clientを実行し、DBLOGINを使用してソース・データベースにログインし、Extract構成に含まれる表ごとに次のコマンドを発行します。ワイルドカードを使用して複数の表の名前を指定できます

      DELETE TRANDATA owner.table

      DELETE TRANDATA owner.*

  3. ハートビート表エントリがインストールされていた場合は削除します。

    DELETE HEARTBEATTABLE

  4. Oracle GoldenGateのCDC Extractインストール・バイナリを使用し、「Oracle GoldenGateのためのデータベースの準備」のステップに従って、サプリメンタル・ロギングおよびその他の必要なコンポーネントを再度有効にし、ハートビート表を再度追加します。