7 Oracle GoldenGate Veridataサーバー構成パラメータ
サーバー側のソートを使用する場合のソート・メモリー構成の様々な点を調整するパラメータについて学習します。
この章の内容は次のとおりです。
7.1 サーバー・メモリーの概要
Oracle GoldenGate Veridataサーバーは仮想メモリーを次のように使用します。
- 基本操作のためのサーバー・メモリー: これはVeridataサーバーおよびWebコンポーネントの動作に必要な仮想メモリーの量です。オブジェクト・プール、データベース・アクセス・ライブラリおよびその他の情報が格納されます。これは通常は約200 MBです。
- ソート・メモリー: これは、サーバー側ソートを使用する際に使用されるメモリーです。ソートの仮想メモリーはスレッドごとではなく、比較全体に対して割り当てられます。行はエージェントから読み取られ、送信されてソートされます。ソートはエージェントから読み取るスレッドとは別のスレッドで行われます。ソートは並行して動作するため多くのスレッドを使用する可能性があります。エージェントからの行がすべてソート・プロセスに送信された後、サーバー・プロセスによって比較のためにそのソートから、ソート済の行が取得されます。
- 行ハッシュ・キュー・メモリー: これは、エージェント・プロセス、ソート・プロセスおよびサーバー・プロセスの間でのデータをバッファするためのメモリーです。データベース・ソートを使用する比較では、ソースとターゲットのそれぞれに単一キューが必要です。各キューの容量は20MGです。キューのメモリー使用量は比較の相対速度とエージェントからのデータ量によって異なります。2つのエージェント間の相対速度もメモリー使用量に影響します。キューはデータをバッファに入れる必要があるため、速度差が大きいほどメモリー使用量は増えます。
- MOOSキュー・メモリー: これは、比較の初回比較ステップと確認ステップの間に、同期されていない可能性があるレコードを保持するためのメモリーです。MOOSキューのサイズは50Kレコードに制限されています。メモリー使用量は各レコードの幅によっても異なります。
- IPCバッファ・メモリー: これは、サーバーとエージェントの間でのメッセージの交換のために使用されるメモリーです。
- スクラッチ・ランタイム一時メモリー: これは仮想メモリー領域です。
ソート・プロセスで使用できるメモリーの量は、次のうち最小のものを超えることはできません。
- システム物理メモリー
- スワップ内の使用可能メモリー
- Javaブート・オプション
-Xmx
最大メモリー設定
7.2 メモリー使用量の見積り
Oracle GoldenGate Veridataで使用可能なメモリーの最大量は、Javaブート・オプション-Xmx
で指定されます。サーバー側のソートを使用する場合、このメモリーの大部分が比較時のソート用に確保されます。確保される量は、server.max_sort_memory
構成パラメータによって制御されます。
比較を実行する際、2つのバッファが確保されたソート・メモリーから割り当てられます。これらのそれぞれのサイズは、「最大メモリー使用量(MB)」で指定されているサイズと同じです。この設定にアクセスするには、「プロファイルの構成」画面で「編集」オプションをクリックし、「プロファイル設定」カテゴリで「ソート方法」をクリックします。
同時比較の数に基づいたメモリーの見積り
比較に使用できるメモリーの最大量は、パラメータ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のインストールと構成』のサーバー・コンポーネントのディスク要件とメモリー要件を参照してください。
7.3 パラメータの設定方法
パラメータを設定するには、veridata.cfg
ファイルにあるエンティティを編集します。このファイルは、Oracle GoldenGate Veridataサーバーのインストール・ディレクトリ内のDOMAIN_HOME/config/veridata
ディレクトリに格納されています。
Oracleサービス・リクエストを開いてから、これらのパラメータを変更します。
7.4 パラメータの説明
この項では、veridata.cfg
ファイルで設定されるパラメータについて説明します。これらのパラメータは、次のカテゴリにグループ化されています。
7.4.1 サーバー・パラメータ
この項では、Oracle GoldenGate Veridataサーバーの構成可能な次のパラメータについて定義します。
7.4.1.1 database.hash
データベースでデータ・ハッシュを実行するかどうかを定義します。データ・フェッチのパフォーマンスを向上させるために使用できます。
構文
database.hash = [true|false]
デフォルト値
false
ノート:
このパラメータは、現在Oracleデータベースでのみサポートされています。例
database.hash = false
7.4.1.2 max_lob_key_len
このパラメータでは、Oracle GoldenGate Veridataでキー列として使用できるLOBデータ型の最大長を設定します。正の整数を使用すると、LOBデータ型をキー列として使用できます。この機能は現在、Postgresのcitextデータ型でのみサポートされています。値をゼロに設定すると、この機能が無効になります。パラメータ値はバイト単位で測定され、1から8000の範囲内である必要があります。表内のデータのサイズが定義された値を超えると、Oracle GoldenGate Veridataは例外をスローし、ジョブは失敗します。
構文
max_lob_key_len = <length_of_lob_datatypes>
デフォルト値
0
例
max_lob_key_len 1
7.4.1.3 server.concurrent.readers
このパラメータでは、サーバー全体のリーダー・スレッドの数を指定します。
構文
server.concurrent.readers number
例
server.concurrent.readers 0
デフォルト値
デフォルト値は4または使用可能なCPU数の4分の1のどちらか大きい値です。
7.4.1.4 server.concurrent.writers
このパラメータでは、ソート・ディレクトリごとのライター・スレッドの数を指定します。
構文
server.concurrent.writers number
例
server.concurrent.writers 0
デフォルト値
デフォルト値は4または使用可能なCPU数の4分の1のどちらか大きい値です。
7.4.1.5 server.convert_empty_to_null
server.convert_empty_to_null = false
の場合、Oracle GoldenGate for Veridataは、空(ゼロバイト文字列)とNULL(スペース処理なし)の比較の暗黙的な動作を非同期とは見なしません。
server.convert_empty_to_null = true
の場合、Oracle GoldenGate Veridataは、空(ゼロバイト文字列)とNULL(スペース処理なし)を比較して非同期であるとします。これは比較形式に依存しないので、片側はOracleと、Oracleのchar、varchar、nchar、nvarchar、raw、clob、nclobおよびblobデータ型である必要があり、このパラメータは暗黙的です。
構文
server.convert_empty_to_null = [true|false]
デフォルト
true
例
server.convert_empty_to_null = true
7.4.1.6 server.mapped_sort_buffers
ソート・バッファをメモリー・マップ・ファイルとして割り当てるか、JVMヒープに割り当てるかを指定します。
構文
server.mapped_sort_buffers [true|false]
例
server.mapped_sort_buffers true
デフォルト値
デフォルトはtrue
です。初期化中にエラーが発生すると、Oracle GoldenGate VeridataではJVMヒープを使用します。
7.4.1.7 server.max_concurrent_comparison_threads
実行可能な最大同時比較数が設定されます。この数を減らしてシステム上のサーバーの影響を減らせます。この上限に達すると、アクティブな比較が完了するまで新たな比較は開始されません。
構文
server.max_concurrent_comparison_threads {default | number}
-
default
: 100スレッド
例
server.max_concurrent_comparison_threads 100
デフォルト値
デフォルト値は4または使用可能なCPU数のどちらか大きい値です。
7.4.1.8 server.max_concurrent_jobs
このパラメータでは、同時に実行可能なジョブの最大数を指定します。
構文
server.max_concurrent_jobs number_of_jobs
例
server.max_concurrent_jobs 200
デフォルト値
100
7.4.1.9 server.max_sort_memory
サーバー側ソートを使用する実行中のすべての比較に使用できるソート仮想メモリーの最大量が設定されます。このパラメータの値は、server.mapped_sort_buffers
の値によって異なります。
構文
server.max_sort_memory {default | number{M | m}}
default
の説明は次のとおりです。
server.mapped_sort_buffers
がtrue
に設定されている場合、デフォルト値は2 GBです。入力する最大サイズは、メモリー・マップ・ファイルの最大サイズです。server.mapped_sort_buffers
がfalse
に設定されている場合、デフォルト値は、JVMの使用可能なヒープ・サイズから200 MBを引いた値となり、これが基本タスクに割り当てられます。入力する最大数は、java -Xmx
の値です。
例
server.max_sort_memory 1000M
デフォルト値
デフォルトのサイズは、使用可能な仮想メモリーに基づいて計算されます。
7.4.1.10 server.memory_mapped_sort_directory
このパラメータは、.map
ファイルが生成されるディレクトリ・パスを指定します。デフォルトでは、オペレーティング・システムの一時ディレクトリが使用されます。
構文
server.memory_mapped_sort_directory directorypath
例
server.memory_mapped_sort_directory directorypath/tmp2
7.4.1.11 server.meta_session_handle_timeout
このパラメータでは、メタセッション・ハンドルのタイムアウトを秒単位で定義します。
構文
server.meta_session_handle_timeout seconds
例
server.meta_session_handle_timeout 600
デフォルト値
900
7.4.1.12 server.persistence_db_type
このパラメータでは、永続データベース・タイプを定義します。
構文
server.veridata_data database_type
database_type
は、永続データベース・タイプです。オプションは次のとおりです:
-
ORACLE_OCI
-
MS_SQL
デフォルト値
ORACLE_OCI
例
server.veridata_data MS_SQL
7.4.1.13 server.veridata_data
Oracle GoldenGate Veridataレポートが含まれるディレクトリ。
構文
server.veridata_data path
path
は、Veridataレポートが格納されるディレクトリの相対または絶対パスです。
ノート:
データ・ディレクトリに相対パスを指定する場合は、スラッシュ(/)またはバックスラッシュ(\)で開始する必要がありません。パスは、Veridataドメイン・ホーム・ディレクトリの相対パスになります。
デフォルト値
/veridata/reports
例
server.veridata_data /veridata/reports
つまり、デフォルトのデータ・ディレクトリはVERIDATA_DOMAIN_HOME
/veridata/reports
になります。
7.4.1.14 socket.timeout.mins
構文
socket.timeout.mins <minutes>
デフォルト値
0
例
socket.timeout.mins 0
7.4.1.15 truncate_spaces_len
truncate_spaces_lenパラメータは、String列またはBinary列の末尾のスペースの長さを制御する場合に使用します。スペース(U+0020)および表意文字スペース(U+3000)が切捨てターゲットです。
このパラメータは、パディング文字がターゲット・スペースの1つである場合、列のパディング文字も切り捨てます。
値が0の場合、すべてのスペースが切り捨てられます。たとえば、data = ""です。
値が1の場合、少なくとも1つのスペースが保持されます。たとえば、data = " "です。
構文
truncate_spaces_len <number_of_trailing_spaces>
デフォルト値
0
例
truncate_spaces_len 0
7.4.2 SSL通信の構成のパラメータ
この項では、Oracle GoldenGate VeridataサーバーとVeridataエージェント間のSSL通信の構成に使用可能なパラメータについて定義します。
7.4.2.1 server.useSsl
このパラメータでは、VeridataサーバーとすべてのVeridataエージェント間の通信にSSLが有効化されているかどうかを指定します。
構文
server.useSsl [true|false]
例
server.useSsl true
デフォルト値
デフォルト値はfalseです。
7.4.2.2 server.ssl.client.allowTrustedExpiredCertificates
このパラメータの値がtrueに設定されている場合、Veridataサーバーは、信頼できる証明書の有効期限が切れるまで、エージェントとサーバー間のSSL通信を可能にします。
ノート:
このパラメータは、IBMのJVMを実行中の場合は適用できません。
構文
server.ssl.client.allowTrustedExpiredCertificates [true|false]
例
server.ssl.client.allowTrustedExpiredCertificates false
デフォルト値
デフォルト値はtrueです。
7.4.2.3 server.ssl.client.identitystore.keyfactory.alg.name
このパラメータでは、SSL通信に使用されるアイデンティティ・ストア・キー・ファクトリ・アルゴリズムの名前を指定します。
構文
server.ssl.client.identitystore.keyfactory.alg.name=algorithm_name
例
server.ssl.client.identitystore.keyfactory.alg.name=IbmX509
IBMのJVMで実行している場合は、値をIbmX509に設定します。
デフォルト値
デフォルト値はSunX509です。
7.4.2.4 server.ssl.client.truststore.keyfactory.alg.name
このパラメータでは、SSL通信に使用されるトラストストア・キー・ファクトリ・アルゴリズムの名前を指定します。
構文
server.ssl.client.truststore.keyfactory.alg.name=algorithm_name
例
server.ssl.client.truststore.keyfactory.alg.name=IbmX509
IBMのJVMで実行している場合は、値をIbmX509に設定します。
デフォルト値
デフォルト値はSunX509です。
7.4.3 Veridataコマンドライン・ユーティリティのパラメータ
この項では、Oracle GoldenGate Veridataサーバーの構成可能な次のパラメータについて定義します。
7.4.3.1 veridata.cli.run_from_managed_server
Veridata管理対象サーバーからVeridataコマンドライン・ユーティリティを実行するには、このパラメータ値をtrue
に設定します。
構文
veridata.cli.run_from_managed_server [true|false]
例
veridata.cli.run_from_managed_server false
デフォルト値
デフォルト値はtrueです。
7.4.3.2 veridata.cli.server.listenAddress
このパラメータでは、Veridata管理対象サーバーのホスト・マシンのリスニング・アドレスを指定します。
構文
veridata.cli.server.listenAddress host
例
veridata.cli.server.listenAddress host.example.com
デフォルト値
管理対象サーバーのデフォルト名はlocalhost
です。
7.4.3.3 veridata.cli.managed_server_name
このパラメータでは、Veridata管理対象サーバーの名前を指定します。
構文
veridata.cli.managed_server_name server
例
veridata.cli.managed_server_name VERIDATA_server2
デフォルト値
管理対象サーバーのデフォルト名はVERIDATA_server1
です。
7.4.4 レポート・ファイルの暗号化のパラメータ
この項では、レポート・ファイルの暗号化に使用される構成可能なパラメータについて定義します。
7.4.4.1 server.encryption
このパラメータがtrueに設定されている場合、比較レポート・アーティファクトが暗号化されます。それ以外の場合、レポートの内容はクリア・テキストになります。
構文
server.encryption=[true|false]
例
server.encryption=false
デフォルト値
デフォルト値はfalseです。
7.4.5 電子メール通知およびアラートのパラメータ
電子メール通知を送信するために、Oracle GoldenGate Veridataは送信Simple Mail Transfer Protocol (SMTP)サーバーに接続できます。SMTPサーバーは、パスワード資格証明を必要としないように構成する必要があります。
パスワードが必要な場合は、mail.fromを参照してください。
このトピックでは、電子メール通知およびアラートに必要なパラメータについて説明します。
7.4.5.1 mail.enabled
このパラメータをfalse
に設定すると、電子メール通知はオフになります。
構文
mail.enabled=[true|false]
例
mail.enabled=false
デフォルト値
デフォルト値はfalse
です。
7.4.5.2 mail.alert.only
このパラメータをfalse
に設定すると、Oracle GoldenGate Veridataはジョブの完了時に通知電子メールを送信します。true
に設定すると、Veridataは、同期していないか障害が発生した場合にのみアラート電子メールを送信します。
構文
mail.alert.only=[true | false]
例
mail.alert.only=true
デフォルト値
デフォルト値はtrue
。
7.4.5.5 mail.smtp.connection.ssl.tls
mail.smtp.connection.ssl.tls
パラメータは、SSLまたはTLS接続を介してメール・サーバーにアクセスするために使用されます。
構文
mail.smtp.connection.ssl.tls= [true|false]
デフォルト値
false
例
mail.smtp.connection.ssl.tls=true
7.4.6 Oracle Streamsタグ付けのサーバー・パラメータ
Oracle GoldenGate Veridataは、Oracle Stream APIを使用して修復トランザクションにタグを付けます。タグの動作をカスタマイズするために、次のプロパティがサーバー・パラメータとして追加されます。
7.4.7 非同期フェッチ戦略の確認用のサーバー・パラメータ
タグの動作をカスタマイズするために、次のプロパティがサーバー・パラメータとして追加されます:
7.4.7.1 coos.join.strategy
CREATE TABLE
、CREATE TABLESPACE
、CREATE PRIVATE TEMPORARY TABLE
およびINSERT/UPDATE/DELETE
権限が必要です。
構文
coos.join.strategy = nokey
値は、nokey
、always
またはnever
にできます。
説明
nokey
- すべての列をキー列として使用(表に主キー制約または一意制約がない)して比較ペアのキー列を選択する場合にのみ、COOS結合戦略を使用します。比較ペアのキー列としてのすべての列の例外は、XML、UDTおよびLobです。
always
- COOSステップに常にCOOS結合を使用します。
never
- COOSステップにCOOS結合を使用しません。
デフォルト値
never