この章では、サーバー側のソートを使用する場合のソート・メモリー構成の様々な点を調整するパラメータについて説明します。
この章の内容は次のとおりです。
Oracle GoldenGate Veridataサーバーは仮想メモリーを次のように使用します。
基本操作用サーバー・メモリー。これはVeridataサーバーおよびWebコンポーネントの動作に必要な仮想メモリーの量です。オブジェクト・プール、データベース・アクセス・ライブラリおよびその他の情報が格納されます。これは通常約200MBです。
ソート・メモリー。これはサーバー側のソートを使用する際に使用されるメモリーです。ソートの仮想メモリーはスレッドごとではなく、比較全体に対して割り当てられます。行はエージェントから読み取られ、送信されてソートされます。ソートはエージェントから読み取るスレッドとは別のスレッドで行われます。ソートは並行して動作するため多くのスレッドを使用する可能性があります。エージェントからの行がすべてソート・プロセスに送信されると、サーバー・プロセスはソートからソート済の行を取得し、比較します。
行ハッシュ・キュー・メモリー。これは、エージェント・プロセス、ソート・プロセスおよびサーバー・プロセス間のデータをバッファするメモリーです。データベース・ソートを使用する比較では、ソースとターゲットのそれぞれに単一キューが必要です。各キューの容量は20MGです。キューのメモリー使用量は比較の相対速度とエージェントからのデータ量によって異なります。2つのエージェント間の相対速度もメモリー使用量に影響します。キューはデータをバッファに入れる必要があるため、速度差が大きいほどメモリー使用量は増えます。
MOOSキュー・メモリー。これは、初回比較と比較の確認手順間で同期していない可能性があるレコードを格納するメモリーです。MOOSキューのサイズは50Kレコードに制限されています。メモリー使用量は各レコードの幅によっても異なります。
スクラッチ・ランタイム一時メモリー。これは仮想メモリー領域です。
ソート・プロセスで使用できるメモリーの量は、次のうち最小のものを超えることはできません。
システム物理メモリー
スワップ内の使用可能メモリー
Javaブート・オプション-Xmx
最大メモリー設定
Oracle GoldenGate Veridataで使用可能なメモリーの最大量は、Javaブート・オプション-Xmx
で指定されます。サーバー側のソートを使用する場合、このメモリーの大部分が比較時のソート用に確保されます。確保される量は、server.max_sort_memory
構成パラメータによって制御されます。
比較を実行する際、2つのバッファが確保されたソート・メモリーから割り当てられます。各々のサイズは、「Maximum Memory Usage (MB)」で指定されたサイズと同じです。この設定にアクセスするには、「Profile Configuration」画面で「Edit」オプションをクリックし、「Profile settings」カテゴリで「Sorting Method」をクリックします。
同時比較の数に基づいたメモリーの見積り
任意の比較に使用されるメモリーの最大量は、パラメータserver.max_comparison_sort_memory
によって設定されます。-Xmx
Javaブート・オプションは、希望する同時比較の数に対して十分な大きさに設定します。
同時比較の最大数は、server.max.concurrent_comparison_threads
構成パラメータによって定義されます。したがって、ソート・メモリーの最大量は次のとおりです。
server.max_comparison_sort_memory
* server_max_comparison_threads
たとえば、10個の同時比較が可能なようにserver.max_concurrent_comparison_threads
を設定し、server.max_comparison_sort_memory
をデフォルト値の100MBのままにすると、1GBの使用可能なメモリーが必要です。
行ごとに使用されるメモリー量の見積り
行ごとに使用されるメモリー量の見積りの計算は、『Oracle GoldenGate Veridataのインストールと構成』のサーバー・コンポーネントのディスクおよびメモリー要件に関する項を参照してください。
パラメータを設定するには、veridata.cfg
ファイルにあるエンティティを編集します。このファイルは、Oracle GoldenGate Veridataサーバーのインストール・ディレクトリ内のDOMAIN_HOME/config/veridata
ディレクトリに格納されています。
Oracleサービス・リクエストを開いてから、これらのパラメータを変更します。詳細は、http://support.oracle.com
を参照してください。
この項では、veridata.cfg
ファイルで設定されるパラメータについて説明します。これらのパラメータは、次のカテゴリにグループ化されています。
この項では、Veridataサーバーの構成可能な次のパラメータについて定義します。
Oracle GoldenGate Veridataレポートが含まれるディレクトリ。
構文
server.veridata_data path
path
は、Veridataレポートが格納されるディレクトリの相対または絶対パスです。
注意: データ・ディレクトリに相対パスを指定する場合は、スラッシュ(/)またはバックスラッシュ(\)で開始する必要がありません。パスは、Veridataドメイン・ホーム・ディレクトリの相対パスになります。 |
デフォルト値
veridata/reports
つまり、デフォルトのデータ・ディレクトリはVERIDATA_DOMAIN_HOME
/veridata/reports
になります。
このパラメータでは、永続データベース・タイプを定義します。
構文
server.veridata_data database_type
database_type
は、永続データベース・タイプです。オプションは次のとおりです。
ORACLE_OCI
MS_SQL
MYSQL
デフォルト値
ORACLE_OCI
このパラメータでは、メタセッション・ハンドルのタイムアウトを秒単位で定義します。
構文
server.meta_session_handle_timeout seconds
例
server.meta_session_handle_timeout 600
デフォルト値
900
このパラメータでは、同時に実行可能なジョブの最大数を指定します。
構文
server.max_concurrent_jobs number_of_jobs
例
server.max_concurrent_jobs 200
デフォルト値
100
実行可能な最大同時比較数が設定されます。通常、サーバーによって構成される数はマシン・リソースの最適値です。この数を減らしてシステム上のサーバーの影響を減らせます。この上限に達すると、アクティブな比較が完了するまで新たな比較は開始されません。
構文
server.max_concurrent_comparison_threads {default | number}
default
に設定すると、Oracle GoldenGate Veridataはserver.max_comparison_sort_memory
と使用可能なリソースに基づき最大同時スレッド数を計算できます。デフォルト値は、server.max_sort_memoryをserver.max_comparison_sort_memory
で割った値です。
number
は、最大同時比較スレッド数を設定する正の整数です。
例
server.max_concurrent_comparison_threads 100
デフォルト値
デフォルト値は、使用可能な仮想メモリーに基づきます。
サーバー側ソートを使用する実行中のすべての比較に使用できるソート仮想メモリーの最大量が設定されます。デフォルトの量は、Javaブート・オプション-Xmx
最大メモリー設定から、基本的なタスクに必要な200MBを除いた量です。Oracle GoldenGate Webユーザー・インタフェースがより多くのメモリーを使用できるようこの量を制限できます。
比較が起動時に十分な仮想メモリーを取得できない場合、server.sort_waiting_threshold
パラメータの設定に応じて失敗するか、再試行します。比較が十分な仮想メモリーを取得できると、現在使用可能なソート仮想メモリーは比較が確保した分だけ減らされます。比較が完了すると、使用可能なソート仮想メモリーの量は、確保されたソート仮想メモリーの分だけ増分されます。
構文
server.max_sort_memory {default | number{M | m}}
default
に設定すると、Oracle GoldenGate Veridataはオペレーティング・システム依存の最大値を定義できます。
number
{M | m}
は値がメガバイトで指定されます。たとえば、1000Mは1000メガバイトが限度であることを示します。この数値が使用可能なメモリーの量を超える場合、値は使用可能なメモリーの量まで減らされます。
例
server.max_sort_memory 1000M
デフォルト値
デフォルトのサイズは、使用可能な仮想メモリーに基づいて計算されます。
サーバー・ソートを使用する1つの比較で確保される仮想メモリーの最大量を設定します。この値を超える予約は、再試行が構成されていても失敗します。
このプロパティに設定される量は、Oracle GoldenGate Webユーザー・インタフェース・プロファイルで設定可能な量の上限です。
このパラメータの値が変更されると、使用中のプロファイルで定義されているソート・パラメータによっては、サーバー側ソートを使用する同時比較が失敗する場合があります。
構文
server.max_comparison_sort_memory {default | number
{ M | m }}
default
は、server.max_sort_memory
の値です。
number
{M | m}
は値がメガバイトで指定されます。たとえば、600Mは比較の限度が600メガバイトに設定されます。
例
server.max_comparison_sort_memory 1000M
デフォルト値
デフォルト値は、server.max_sort_memory
の値です。
仮想メモリー確保の再試行を待機する比較が多すぎる場合、その値を超えると新規ジョブが失敗するしきい値を設定します。
構文
server.sort_waiting_threshold {default | number}
default
はゼロで、メモリーが割り当てられない場合、ジョブを実行できません。
number
は、新規ジョブが失敗するまでの待機可能比較数を設定します。たとえば値が100の場合、メモリー予約を待機している比較が100あり、実行開始可能なジョブがあると、このジョブは実行できないことを示します。
例
server.sort_waiting_threshold 1000M
デフォルト値
値はシステムによって計算されます。
このパラメータでは、ソート・ディレクトリごとのライター・スレッドの数を指定します。
構文
server.concurent.writers number
例
server.concurent.writers number
デフォルト値
デフォルト値は4です。
この項では、VeridataサーバーとVeridataエージェント間のSSL通信の構成に使用可能なパラメータについて定義します。
このパラメータでは、VeridataサーバーとすべてのVeridataエージェント間の通信にSSLが有効化されているかどうかを指定します。
構文
server.useSsl [true|false]
例
server.useSsl true
デフォルト値
デフォルト値はfalseです。
このパラメータの値がtrueに設定されている場合、Veridataサーバーは、信頼できる証明書の有効期限が切れるまで、エージェントとサーバー間のSSL通信を可能にします。
注意: このパラメータは、IBMのJVMを実行中の場合は適用できません。 |
構文
server.ssl.client.allowTrustedExpiredCertificates [true|false]
例
server.ssl.client.allowTrustedExpiredCertificates false
デフォルト値
デフォルト値はtrueです。
このパラメータでは、SSL通信に使用されるアイデンティティ・ストア・キー・ファクトリ・アルゴリズムの名前を指定します。
構文
server.ssl.client.identitystore.keyfactory.alg.name=algorithm_name
例
server.ssl.client.identitystore.keyfactory.alg.name=IbmX509
IBMのJVMで実行している場合は、値をIbmX509に設定します。
デフォルト値
デフォルト値はSunX509です。
この項では、Veridataサーバーの構成可能な次のパラメータについて定義します。
Veridata管理対象サーバーからVeridataコマンドライン・ユーティリティを実行するには、このパラメータ値をtrue
に設定します。
構文
veridata.cli.run_from_managed_server [true|false]
例
veridata.cli.run_from_managed_server false
デフォルト値
デフォルト値はtrueです。
このパラメータでは、Veridata管理対象サーバーの名前を指定します。
構文
veridata.cli.managed_server_name server
例
veridata.cli.managed_server_name VERIDATA_server2
デフォルト値
管理対象サーバーのデフォルト名はVERIDATA_server1
です。