17 並列Replicatの使用

目的の環境でパラレル・レプリケーションを作成(または追加)して構成できます。そうした新規の並列Replicatプロセスは、内部のすべてのステージで最初から最後まで情報を並列処理します。マッパー、マスターおよびアプライアなどのコンポーネントについても説明します。

パラレルReplicatおよびパラレル・レプリケーション・アーキテクチャの詳細は、「パラレルReplicatについて」を参照してください。

内容は次のとおりです。

パラレル・レプリケーション・アーキテクチャ

パラレル・レプリケーション・プロセスは、統合モードの場合に、Oracle Database内で使用可能な適用処理機能を活用します。

単一のReplicat構成では、インバウンド・サーバーの複数の子プロセス(適用サーバーと呼ばれる)が、元のトランザクション原始性を維持しつつ、トランザクションをパラレルに適用します。

アーキテクチャ図は、証跡ファイルからターゲット・データベースへのパラレル・レプリケーションの様々なプロセスを介した変更レコードのフローを表します。

para_rep_arch.pngの説明が続きます
図para_rep_arch.pngの説明

マッパーが証跡ファイルを読み取ってレコードをマップし、マップしたレコードをマスターに転送します。バッチはアプライアに送信されて、ターゲット・データベースに適用されます。

マスター・プロセスにはコレータとスケジューラの2つの個別のスレッドがあります。コレータはマッパーの管理とマッパーとの通信を行い、さらにマップされたトランザクションを受信して、単一の順序ストリームに並べ替えます。スケジューラはアプライアの管理とアプライアとの通信を行い、さらにコレータからトランザクションを読み取り、バッチにしてアプライアに対してスケジュールします。

スケジューラ・コントローラはスケジューラと通信して必要な情報(現在の低水位標の位置など)を収集します。スケジューラ・コントローラはOracle DatabaseのCDBモードに必要で、これにより、様々なターゲットPDBに関連する情報を集約して、統一された状況をレポートします。スケジューラ・コントローラは、CDBモードでない場合でもシンプルで統一された実装を実現するために作成されています。各プロセスがパラメータ・ファイルを読み取り、単一のチェックポイント・ファイルを共有します。

並列Replicatの基本パラメータ

次の表に、基本的な並列Replicatのパラメータおよびその説明を示します。

パラメータ 説明
MAP_PARALLELISM

マッパーの数を構成します。これは証跡ファイルを読み取るために使用されるスレッドの数を制御します。最小値は1、最大値は100、デフォルトは2です。

APPLY_PARALLELISM

アプライアの数を構成します。これは変更を適用するために使用されるターゲット・データベースの接続の数を制御します。デフォルト値は4です。

MIN_APPLY_PARALLELISM

MAX_APPLY_PARALLELISM

並列化の適用が自動チューニングされます。最小値と最大値を設定して、Replicatが並列化を自動的に調整する範囲を定義できます。デフォルト値はありません。APPLY_PARALLELISMと同時に使用しないでください

SPLIT_TRANS_REC

大きなトランザクションを指定のサイズのピースに分割して、パラレルに適用するように指定します。ピース間の依存関係は保持されます。デフォルトでは無効です。

COMMIT_SERIALIZATION

FULL直列化モードのコミットを有効にし、証跡の順序でトランザクションを強制的にコミットします。

高度なパラメータ

 
LOOK_AHEAD_TRANSACTIONS

トランザクションをバッチ化するときに、スケジューラがどの程度先まで対象にするかを制御します。デフォルト値は10000です。

CHUNK_SIZE

並列Replicatで、どの程度の大きさのトランザクションを大きいトランザクションとみなすかを制御します。並列Replicatは、このサイズより大きいトランザクションを検出すると、そのトランザクションをシリアライズするためにパフォーマンスが低下します。ただし、この値を大きくすると、並列Replicatによって消費されるメモリーも増加します。

パラメータ・ファイルの例

replicat repA
userid ggadmin, password ***
MAP_PARALLELISM 3
MIN_APPLY_PARALLELISM 2
MAX_APPLY_PARALLELISM 10
SPLIT_TRANS_RECS 1000
map *.*, target *.*;

並列Replicatの作成

グラフィカル・ユーザー・インタフェースまたはコマンドライン・インタフェース(GGSCIおよびAdminClient)を使用して、パラレル・レプリケーションを作成できます。

並列Replicatにはチェックポイント表が必要なため、並列Replicatにチェックポイント表が含まれない場合は、管理サーバーUIとAdminClientの両方がエラーを発行します。

注意:

パラレル・レプリケーションでは、統合モードでのCOMMIT_SERIALIZATIONはサポートされません。この適用プロセスを使用するには、統合Replicatを使用してください。

管理サーバーを使用した非統合パラレル・レプリケーションの作成

  1. ブラウザを開いて、Configuration Assistantで作成したサービス・マネージャに接続します。

    https://server_name:service_manger_port/

    たとえば、https://localhost:9000/に接続します。非セキュアな環境ではhttpsのかわりにhttpを使用します。

    Oracle GoldenGateサービス・マネージャが表示されます。

  2. 作成したユーザー名とパスワードを入力し、「Sign In」をクリックします。

    サービス・マネージャに実行中のサーバーが表示されます。

  3. 「Services」セクションで「Administration Server」をクリックしてログインします。

  4. ページ・タイトルの左側の「Application Navigation」アイコンをクリックして、ナビゲーション・パネルを展開します。

  5. 右側のナビゲーション・パネルの「Configuration」をクリックして、チェックポイント表を作成します。

  6. 「Action」の下部の「log in database」アイコンをクリックして、データベースの有効な資格証明とログインを持っていることを確認します。

  7. +記号をクリックして、チェックポイント表を追加します。

  8. 作成するチェックポイント表のschema.nameを入力して、「Submit」をクリックします。

  9. 「log out database」アイコンを使用して「Credential Alias」からログアウトし、表が正しく作成されたことを検証し、再度ログインします。

    ログインが完了すると、新しいチェックポイント表がリストされます。

  10. 「Overview」をクリックして、管理サーバーのメイン・ページに戻ります。

  11. Replicatの横にある+記号をクリックします。

  12. 「Nonintegrated Replicat」を選択して、「Next」をクリックします。

  13. 必要な情報を入力し、「Credential Domain」および「Credential Alias」フィールドに入力したことを確認してから、「Checkpoint Table」フィールドに入力し、リストから新しく作成したチェックポイント表を選択します。

  14. 「Next」をクリックし、「Create and Run」をクリックしてReplicatの作成を完了します。

管理クライアントを使用した非統合並列Replicatの作成

  1. Oracle GoldenGateインストール・ディレクトリのbinディレクトリに移動します。

    cd $OGG_HOME/bin
  2. 管理クライアントを起動します。

    ./adminclient

    管理クライアントのコマンド・プロンプトが表示されます。

    OGG (not connected) 12>
  3. サービス・マネージャのデプロイメント・ソースに接続します。

    connect http://localhost:9500 deployment Target1 as oggadmin password welcome1

    接続文字列にhttpまたはhttpsを使用する必要があります。この例は非SSL接続です。

  4. 並列Replicatを追加します。完了まで数分かかる場合があります。

    add replicat R1, parallel, exttrail bb checkpointtable ggadmin.ggcheckpoint

    ADD REPLICATの一部としてわずか2文字の証跡名を使用することも、/u01/oggdeployments/target1/var/lib/data/bbのようなフル・パスを使用することもできます。

  5. Replicatが実行されていることを確認します。

    info replicat R1

    次のようなメッセージが表示されます。

    REPLICAT   R1        Initialized   2016-12-20 13:56   Status RUNNING
    Parallel
    Checkpoint Lag       00:00:00 (updated 00:00:22 ago)
    Process ID           30007
    Log Read 
    Checkpoint  File ./ra000000000First Record  RBA 0