17 並列Replicatの使用
目的の環境でパラレル・レプリケーションを作成(または追加)して構成できます。そうした新規の並列Replicatプロセスは、内部のすべてのステージで最初から最後まで情報を並列処理します。マッパー、マスターおよびアプライアなどのコンポーネントについても説明します。
パラレルReplicatおよびパラレル・レプリケーション・アーキテクチャの詳細は、「パラレルReplicatについて」を参照してください。
内容は次のとおりです。
- パラレル・レプリケーション・アーキテクチャ
パラレル・レプリケーション・プロセスは、統合モードの場合に、Oracle Database内で使用可能な適用処理機能を活用します。 - 並列Replicatの基本パラメータ
次の表に、基本的な並列Replicatのパラメータおよびその説明を示します。 - 並列Replicatの作成
グラフィカル・ユーザー・インタフェースまたはコマンドライン・インタフェース(GGSCIおよびAdmin Client)を使用して、パラレル・レプリケーションを作成できます。
パラレル・レプリケーション・アーキテクチャ
パラレル・レプリケーション・プロセスは、統合モードの場合に、Oracle Database内で使用可能な適用処理機能を活用します。
単一のReplicat構成では、インバウンド・サーバーの複数の子プロセス(適用サーバーと呼ばれる)が、元のトランザクション原始性を維持しつつ、トランザクションをパラレルに適用します。
アーキテクチャ図は、証跡ファイルからターゲット・データベースへのパラレル・レプリケーションの様々なプロセスを介した変更レコードのフローを表します。
図para_rep_arch.pngの説明
マッパーが証跡ファイルを読み取ってレコードをマップし、マップしたレコードをマスターに転送します。バッチはアプライアに送信されて、ターゲット・データベースに適用されます。
マスター・プロセスにはコレータとスケジューラの2つの個別のスレッドがあります。コレータはマッパーの管理とマッパーとの通信を行い、さらにマップされたトランザクションを受信して、単一の順序ストリームに並べ替えます。スケジューラはアプライアの管理とアプライアとの通信を行い、さらにコレータからトランザクションを読み取り、バッチにしてアプライアに対してスケジュールします。
スケジューラ・コントローラはスケジューラと通信して必要な情報(現在の低水位標の位置など)を収集します。スケジューラ・コントローラはOracle DatabaseのCDBモードに必要で、これにより、様々なターゲットPDBに関連する情報を集約して、統一された状況をレポートします。スケジューラ・コントローラは、CDBモードでない場合でもシンプルで統一された実装を実現するために作成されています。各プロセスがパラメータ・ファイルを読み取り、単一のチェックポイント・ファイルを共有します。
親トピック: 並列Replicatの使用
並列Replicatの基本パラメータ
次の表に、基本的な並列Replicatのパラメータおよびその説明を示します。
パラメータ | 説明 |
---|---|
MAP_PARALLELISM |
マッパーの数を構成します。これは証跡ファイルを読み取るために使用されるスレッドの数を制御します。最小値は |
APPLY_PARALLELISM |
アプライアの数を構成します。これは変更を適用するために使用されるターゲット・データベースの接続の数を制御します。デフォルト値は4です。 |
MIN_APPLY_PARALLELISM
|
並列化の適用が自動チューニングされます。最小値と最大値を設定して、Replicatが並列化を自動的に調整する範囲を定義できます。デフォルト値はありません。 |
SPLIT_TRANS_REC |
大きなトランザクションを指定のサイズのピースに分割して、パラレルに適用するように指定します。ピース間の依存関係は保持されます。デフォルトでは無効です。 |
COMMIT_SERIALIZATION |
|
高度なパラメータ |
|
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の使用
並列Replicatの作成
グラフィカル・ユーザー・インタフェースまたはコマンドライン・インタフェース(GGSCIおよびAdminClient)を使用して、パラレル・レプリケーションを作成できます。
並列Replicatにはチェックポイント表が必要なため、並列Replicatにチェックポイント表が含まれない場合は、管理サーバーUIとAdminClientの両方がエラーを発行します。
注意:
パラレル・レプリケーションでは、統合モードでのCOMMIT_SERIALIZATION
はサポートされません。この適用プロセスを使用するには、統合Replicatを使用してください。
管理サーバーを使用した非統合パラレル・レプリケーションの作成
-
ブラウザを開いて、Configuration Assistantで作成したサービス・マネージャに接続します。
https://server_name:service_manger_port/
たとえば、https://localhost:9000/に接続します。非セキュアな環境ではhttpsのかわりにhttpを使用します。
Oracle GoldenGateサービス・マネージャが表示されます。
-
作成したユーザー名とパスワードを入力し、「Sign In」をクリックします。
サービス・マネージャに実行中のサーバーが表示されます。
-
「Services」セクションで「Administration Server」をクリックしてログインします。
-
ページ・タイトルの左側の「Application Navigation」アイコンをクリックして、ナビゲーション・パネルを展開します。
-
右側のナビゲーション・パネルの「Configuration」をクリックして、チェックポイント表を作成します。
-
「Action」の下部の「log in database」アイコンをクリックして、データベースの有効な資格証明とログインを持っていることを確認します。
-
+記号をクリックして、チェックポイント表を追加します。
-
作成するチェックポイント表の
schema.name
を入力して、「Submit」をクリックします。 -
「log out database」アイコンを使用して「Credential Alias」からログアウトし、表が正しく作成されたことを検証し、再度ログインします。
ログインが完了すると、新しいチェックポイント表がリストされます。
-
「Overview」をクリックして、管理サーバーのメイン・ページに戻ります。
-
Replicatの横にある+記号をクリックします。
-
「Nonintegrated Replicat」を選択して、「Next」をクリックします。
-
必要な情報を入力し、「Credential Domain」および「Credential Alias」フィールドに入力したことを確認してから、「Checkpoint Table」フィールドに入力し、リストから新しく作成したチェックポイント表を選択します。
-
「Next」をクリックし、「Create and Run」をクリックしてReplicatの作成を完了します。
管理クライアントを使用した非統合並列Replicatの作成
-
Oracle GoldenGateインストール・ディレクトリの
bin
ディレクトリに移動します。cd $OGG_HOME/bin
-
管理クライアントを起動します。
./adminclient
管理クライアントのコマンド・プロンプトが表示されます。
OGG (not connected) 12>
-
サービス・マネージャのデプロイメント・ソースに接続します。
connect http://localhost:9500 deployment Target1 as oggadmin password welcome1
接続文字列にhttpまたはhttpsを使用する必要があります。この例は非SSL接続です。
-
並列Replicatを追加します。完了まで数分かかる場合があります。
add replicat R1, parallel, exttrail bb checkpointtable ggadmin.ggcheckpoint
ADD REPLICAT
の一部としてわずか2文字の証跡名を使用することも、/u01/oggdeployments/target1/var/lib/data/bb
のようなフル・パスを使用することもできます。 -
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
親トピック: 並列Replicatの使用