この章では、Oracle GoldenGate Veridataの使用方法について説明します。コンポーネントの役割と相互作用、コンポーネントの構成方法およびOracle GoldenGate Veridataによる表の比較方法の概要を示します。
この章の内容は次のとおりです。
Oracle GoldenGate Veridataは、あるデータのセットと別のデータのセットを比較し、同期していないデータを特定します。Oracle GoldenGate Veridataは、大規模でデータ・セットを比較するためのダウンタイムが許容されない常時稼働のレプリケーション環境をサポートしています。比較を実行中にレプリケートされるデータを把握することで、Oracle GoldenGate Veridataはデータ・トランザクションおよびレプリケーションと同時に実行でき、さらに正確な比較レポートを生成できます。
Oracle GoldenGate Veridataは異なるデータベース・タイプ間で自動的に列データ型をマップします。また、異種環境で自動マッピングが異なる形式に十分対応できない場合は、手動で列をマップできます。この機能の詳細は、オンライン・ヘルプを参照してください。
このドキュメントの目的上、次の用語は同義語とみなします。
表およびファイル
列およびフィールド
行およびレコード
Oracle GoldenGate Veridataサーバー
Oracle GoldenGate Veridataサーバーは、次の機能を実行します。
Oracle GoldenGate Veridataタスクの実行の調整
行のソート (オプション)
データの比較
非同期データの確認
確認用レポートの生成
Oracle GoldenGate Veridata Webユーザー・インタフェース
Oracle GoldenGate Veridata Webユーザー・インタフェースは、次のアクティビティに対するブラウザベースのグラフィカル・ユーザー・インタフェースです。
比較オブジェクトおよびルールの構成
比較の開始
比較のステータスおよび出力の確認
非同期データの確認
Oracle GoldenGate Veridataリポジトリ
Oracle GoldenGate Veridataリポジトリは、構成情報をディスクに保持し、ユーザー環境として永久的に保存するデータベース・オブジェクトの集まりです。
Oracle GoldenGate Veridataエージェント
Oracle GoldenGate Veridataエージェントは、Oracle GoldenGate Veridataサーバーにかわって次のデータベース関連リクエストを実行します。
比較する行ブロックのフェッチおよび戻し
非同期行の列レベル詳細の戻し
Oracle GoldenGate Veridata Manager
ManagerプロセスとはCコード・ベースのエージェントの一部で、NonStopプラットフォームおよびオプションでOracleデータベースに必要です。Oracle GoldenGate Veridataエージェント・プロセスを制御します。Managerは、Oracle GoldenGate Veridataによってサポートされている他のデータベースで使用されるJavaエージェントでは使用されません。
Oracle GoldenGate Veridata CLI(コマンドライン・インタフェース)
Oracle GoldenGate Veridataには、Oracle GoldenGate Veridataサーバーへのコマンドライン・クライアントが含まれています。プログラム名はvericom
です。このインタフェースでは、自動化プログラムを使用することで比較の実行、上書きの指定およびOracle GoldenGate Veridataサーバーの停止を行えます。構成機能および監視機能はOracle GoldenGate Veridata Webから実行する必要があります。
この項では、比較対象のオブジェクトの構成方法およびOracle GoldenGate Veridataプロセスによる比較方法について説明します。
Oracle GoldenGate Veridataの使用を開始するには、比較するデータを識別し、作業管理に役立つオブジェクトを作成する必要があります。
データソース接続の構成: Oracle GoldenGate Veridataサーバーは比較するデータが含まれるデータベースと対話するOracle GoldenGate Veridataエージェントに接続します。接続は、ホスト、そのホスト上のOracle GoldenGate Veridataエージェントのポート番号およびエージェントがアクセスするデータソースで定義されます。
構成グループ: ソース・データソース接続およびターゲット・データソース接続のセットにリンクされている比較グループを少なくとも1つ構成する必要があります。グループとは比較するオブジェクトを編成する論理コンテナです。
比較ペアの構成: 作成する各グループに1つ以上の比較ペアを構成する必要があります。比較ペアとは対応するソース表およびターゲット表またはファイルのセットです。比較ペアの構成の一部として、2つのオブジェクト間の構造関係を設定するソース列およびターゲット列をマップします。
プロファイルの構成: プロファイルにはランタイム・パラメータの設定が含まれ、ジョブ・プロファイルの上書きとしてジョブおよび特定の比較ペアにグローバルに適用できます。プロファイル・パラメータには、ソート方法、スレッドおよびメモリーの使用量、レポート出力などの考慮事項が網羅されます。実行プロファイルの定義はオプションです。それは、Oracle GoldenGate Veridataにはほとんどの使用シナリオに適用される設定を含むデフォルト・プロファイルが含まれるためです。ただし、Oracle GoldenGate Veridataの使用を重ねるうちに、デフォルト・プロファイルをカスタマイズしたり、独自のカスタム・プロファイルを作成する必要が生じることもあります。
ジョブの構成: ジョブとは1つ以上の比較グループの論理コンテナで、比較処理を実行する作業ユニットです。1つ以上のジョブ内で、多くのデータベースおよびシステム間で大容量の比較グループを管理および実行でき、その比較のタイミングを制御できます。
詳細は、Oracle GoldenGate Veridataのオンライン・ヘルプを参照してください。
Oracle GoldenGate Veridataは、ある種の一意な識別子を使用して比較用に行を順序付けます。
主キー: デフォルトでは、主キーが使用可能な場合、Oracle GoldenGate Veridataは主キーを使用します。
一意キー: 主キーが定義されていない場合、Oracle GoldenGate Veridataは最小の一意索引を使用します。
ユーザー定義キー: 表またはファイルに主キーも一意キーもない場合、比較ペアを定義する際、既存の索引または列のセットを比較用に定義できます。ただし、主キーまたは一意キーは自動的にマップされますが、ユーザー定義キーは手動でマップする必要があります。ユーザー定義キーは、別の順序付け方法を使用する場合に既存のキーまたは索引の上書きにも使用できます。
比較用のキーの選択とマッピングの詳細は、Oracle GoldenGate Veridataのオンライン・ヘルプを参照してください。
比較アクティビティは、次の手順に分割されています。Oracle GoldenGate Veridata Webでパラメータを変更し、これらの手順の一部を変更できます。
初回比較(または行ハッシュ)手順で、行は問合せによってソース表およびターゲット表から取得されます。ソース・データベースとターゲット・データベースの型が異なる場合、列は正確に比較するために標準データ型形式に変換されます。デフォルトでは、Oracle GoldenGate Veridataは主キーのすべての列を逐語的(値対値)に比較し、すべての非キー列についてはハッシュ値を使用して行を比較します。ハッシュ値の計算に使用する一意のデジタル署名は、比較用にネットワーク上に転送されるデータを縮小する一方で、2つの行に同じ列値または異なる列値が含まれるかを決定する絶対的ではないものの非常に信頼でき、効率的なメカニズムを提供しています。
同期していない行をより確実に検出するために、非キー行をハッシュを使用せずに列対列で比較するようにOracle GoldenGate Veridataを構成できます。全列比較は列数に比例して処理パフォーマンスが下がり、ネットワーク使用量は増えます。
NonStopプラットフォームでは、サーバー側ソートを使用する場合、初回比較手順中はデルタ処理機能を使用できます。デルタ処理とは、Oracle GoldenGate Veridataが前回の比較以降データベースのどのデータ・ブロックが変更されたかを検出し、そのブロックの行のみを比較するというパフォーマンス機能です。変更されていないブロックの行はスキップされます。デフォルトでは、変更の有無にかかわらずすべての行が比較されます。
デルタ処理には、次の2つの手順があります。
後続デルタ比較の前回実行の基準変更時間の収集。この手順は、常にデルタ処理が比較ペアに対して有効化されている場合に実行されます。
最初の手順で収集された情報を使用した基準比較以降変更されたデータの比較。この処理は、Oracle GoldenGate Veridata Webの「Compare Pair Configuration」ページおよび「Run/Execute Job」ページの「Enable Delta Processing」ボタンをクリックすると有効になります。「Disable Delta Processing」ボタンを使用すると、表の再編成など、変更があった場合に収集したデルタ・ベースの情報を無効化できるデルタ比較手順を無効化できます。
デルタ処理の詳細は、Oracle GoldenGate Veridataのオンライン・ヘルプを参照してください。
初回比較後、同期していないとみなされた行はメモリー内のmaybe out-of-sync (MOOS)キューに格納されます。これは、この時点では比較結果が出ていないためです。レプリケーションが比較と同時に行われる場合、特にレプリケーション待機時間がある場合は、実際は現在データは処理中(レプリケーション・フローのどこかにある)で、レプリケーションによってすぐに再度同期化される場合でも、行は非同期とされる可能性があります。
確認または非同期確認(COOS)手順は、変わりつつある環境内の行ステータスを確認して正確な結果が得られるようにします。この手順では、行はMOOSキューから抽出され、そのステータスは次のいずれかとして評価されます。
処理中: 行は初回比較手順では非同期であったが、その後更新されました。この場合、レプリケーションまたは別のメカニズムが変更を適用したが、Oracle GoldenGate Veridataは行が同期していたことを確認できなかったとみなされます。
同期: ソース行の値はレプリケーションまたは別の方法でターゲット行に適用されました。基礎となる表が継続して変更されている場合、同期ステータスは常に行が同期されていることを保証しませんが、レプリケーションが進行中であることを示しています。
デフォルトでは、確認処理は初回比較手順と並行するスレッドで行われますが、各行の確認は指定したレプリケーション待機時間のしきい値を過ぎるまで待機します。たとえば、待機時間が60秒で、初回比較手順で9:30に非同期行であることが公開された場合、その行の確認手順は処理中であった変更を適用できるように9:31まで実行されません。待機時間の説明が済んだら行は永続的非同期として確認でき、1つ以上の非同期レポートに格納されます。
ジョブが完了したら、Oracle GoldenGate Veridata Webを使用するか、ファイル自体を表示して、比較結果と非同期レポートを表示できます。
非同期レポートをバイナリ形式、XML形式または両方(またはなし)で格納するオプションがあります。
OOSファイル: バイナリ形式で格納すると、OOSレポートはOracle GoldenGate Veridataプログラムと互換性があります。したがって、Oracle GoldenGate Veridata Webインタフェースから表示でき、非同期であった行の再比較の基準として使用することもできます。行を再比較するには、行の現在の状態を比較し、どちらがレプリケーション後非同期のままか、または別の修復措置が適用されたかをレポートする別の確認手順を実行するオプションを選択します。
OOSXMLファイル: XMLとして格納する場合は、OOSレポートがOOSXML
ファイルに書き込まれ、内部XMLスキーマに適合する構造的な方法で格納されます。XMLには多くの利点がありますが、最も大きな利点は多くのツールで簡単に操作できるという点です。XML形式の場合、ファイルにはメタデータなど、外部プログラムで再同期化する場合に行を選択する必要があるすべての情報が含まれます。
各終了ジョブ、グループおよび比較ペアは比較レポートを生成します。レポート・ファイルには、次のような実行された比較の詳細が含まれます。
ファイル自体は、次のように格納されます。
OOSファルはOracle GoldenGate Veridataサーバー・インストール・ディレクトリのサブディレクトリに格納されます。
OOSファイル: shared/data/oos
OOSXMLファイル: shared/data/oosxml
これらのディレクトリは、さらに実行ID、ジョブ名、グループ名および比較ペア別に編成されます。OOSXML
ディレクトリでは、拡張子が.oosxml
のファイルは制御ファイルです。順次ファイル拡張子が付いたファイルはOOSXML
チャンクです。XMLデータは、パフォーマンス上の理由で「チャンク」という複数のファイルにまたがっています。