6.4 サーバー・パラメータ
サーバー側のソートを使用する場合のソート・メモリー構成の様々な点を調整するパラメータについて学習します。
この章には次のトピックが含まれます:
親トピック: 管理
6.4.1 サーバー・メモリーの概要
Oracle GoldenGate Veridataサーバーは仮想メモリーを次のように使用します。
- 基本操作のサーバー・メモリー: これは、VeridataサーバーおよびWebコンポーネントの動作に必要な仮想メモリーの量です。オブジェクト・プール、データベース・アクセス・ライブラリおよびその他の情報が格納されます。これは通常約200 MBです。
- ソート・メモリー: これはサーバー側のソートが使用される場合に使用されるメモリーです。ソートの仮想メモリーはスレッドごとではなく、比較全体に対して割り当てられます。行はエージェントから読み取られ、送信されてソートされます。ソートはエージェントから読み取るスレッドとは別のスレッドで行われます。ソートは並行して動作するため多くのスレッドを使用する可能性があります。エージェントからの行がすべてソート・プロセスに送信されると、サーバー・プロセスではソートからソート済の行を取得して比較します。
- 行ハッシュ・キュー・メモリー: これは、エージェント・プロセス、ソート・プロセスおよびサーバー・プロセス間でデータをバッファするためのメモリーです。データベース・ソートを使用する比較では、ソースとターゲットのそれぞれに単一キューが必要です。各キューの容量は20MGです。キューのメモリー使用量は比較の相対速度とエージェントからのデータ量によって異なります。2つのエージェント間の相対速度もメモリー使用量に影響します。キューはデータをバッファに入れる必要があるため、速度差が大きいほどメモリー使用量は増えます。
- MOOSキュー・メモリー: これは、初回比較と比較の確認ステップ間で同期していない可能性があるレコードを保持するメモリーです。MOOSキューのサイズは50Kレコードに制限されています。メモリー使用量は各レコードの幅によっても異なります。
- IPCバッファ・メモリー: これは、サーバーとエージェント間のメッセージ交換に使用されるメモリーです。
- スクラッチ・ランタイム一時メモリー: これは仮想メモリー領域です。
ソート・プロセスで使用できるメモリーの量は、次のうち最小のものを超えることはできません。
- システム物理メモリー
- スワップ内の使用可能メモリー
- Javaブート・オプション
-Xmx
最大メモリー設定
親トピック: サーバー・パラメータ
6.4.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の使用可能なメモリーが必要です。
行ごとに使用されるメモリー量の見積り
行ごとに使用されるメモリー量の見積りの詳細は、「サーバー・コンポーネントのディスクおよびメモリー要件」を参照してください。
親トピック: サーバー・パラメータ
6.4.3 パラメータの設定方法
パラメータを設定するには、veridata.cfg
ファイルにあるエンティティを編集します。このファイルは、Oracle GoldenGate Veridataサーバーのインストール・ディレクトリ内のDOMAIN_HOME/config/veridata
ディレクトリに格納されています。
Oracleサービス・リクエストを開いてから、これらのパラメータを変更します。
親トピック: サーバー・パラメータ
6.4.4 パラメータの説明
この項では、veridata.cfg
ファイルで設定されるパラメータについて説明します。これらのパラメータは、次のカテゴリにグループ化されています。
- サーバー・パラメータ
- レポート・ファイルの暗号化のパラメータ
- 電子メール通知およびアラートのパラメータ
- Oracle Streamsタグ付けのサーバー・パラメータ
- 非同期確認フェッチ戦略のサーバー・パラメータ
親トピック: サーバー・パラメータ
6.4.4.1 サーバー・パラメータ
この項では、Oracle GoldenGate Veridataサーバーの構成可能な次のパラメータについて定義します。
- database.hash
- max_lob_key_len
- server.convert_empty_to_null
- server.mapped_sort_buffers
- server.max_concurrent_comparison_threads
- server.max_sort_memory
- server.memory_mapped_sort_directory
- server.meta_session_handle_timeout
- server.number_sort_threads
- server.veridata_data
- socket.timeout.mins
- server.useSsl
- truncate_spaces_len
親トピック: パラメータの説明
6.4.4.1.1 database.hash
構文
このパラメータは、データベースでデータ・ハッシュを実行するかどうかを定義します。データ・フェッチのパフォーマンスを向上させるために使用できます。
database.hash = [true|false]
デフォルト値
false
ノート:
このパラメータは、現在Oracleデータベースでのみサポートされています。例
database.hash = false
親トピック: サーバー・パラメータ
6.4.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
親トピック: サーバー・パラメータ
6.4.4.1.3 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
親トピック: サーバー・パラメータ
6.4.4.1.4 server.mapped_sort_buffers
ソート・バッファをメモリー・マップ・ファイルとして割り当てるか、JVMヒープに割り当てるかを指定します。
構文
server.mapped_sort_buffers [true|false]
例
server.mapped_sort_buffers true
デフォルト値
デフォルトはtrue
です。初期化中にエラーが発生すると、Oracle GoldenGate VeridataではJVMヒープを使用します。
親トピック: サーバー・パラメータ
6.4.4.1.5 server.max_concurrent_comparison_threads
構文
このパラメータは、実行可能な最大同時比較数を設定します。この数を減らしてシステム上のサーバーの影響を減らせます。この上限に達すると、アクティブな比較が完了するまで新たな比較は開始されません。
server.max_concurrent_comparison_threads {default | number}
デフォルト値
最大制限は100です。デフォルト値は4または使用可能なCPU数のどちらか大きい値です。
例
server.max_concurrent_comparison_threads 100
親トピック: サーバー・パラメータ
6.4.4.1.6 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
デフォルト値
デフォルトのサイズは、使用可能な仮想メモリーに基づいて計算されます。
親トピック: サーバー・パラメータ
6.4.4.1.7 server.memory_mapped_sort_directory
構文
このパラメータは、.map
ファイルが生成されるディレクトリ・パスを指定します。デフォルトでは、オペレーティング・システムの一時ディレクトリが使用されます。オペレーティング・システムの一時ディレクトリが50GB未満の場合は、より大きなディレクトリを指定することを検討してください。
server.memory_mapped_sort_directory directorypath
例
server.memory_mapped_sort_directory u01/tmp2
親トピック: サーバー・パラメータ
6.4.4.1.8 server.meta_session_handle_timeout
このパラメータでは、メタセッション・ハンドルのタイムアウトを秒単位で定義します。
構文
server.meta_session_handle_timeout seconds
例
server.meta_session_handle_timeout 600
デフォルト値
900
親トピック: サーバー・パラメータ
6.4.4.1.9 server.number_sort_threads
このパラメータでは、Veridataエージェントからの入力バッファのソートに使用されるスレッドの数を指定します。
ノート:
server.number_sort_threads
の値は、使用可能なプロセスの数を超えないようにしてください。
構文
server.number_sort_threads number
例
server.number_sort_threads number
デフォルト値
デフォルト値は4または使用可能なCPU数の4分の1のどちらか大きい値です。
親トピック: サーバー・パラメータ
6.4.4.1.10 server.veridata_data
Oracle GoldenGate Veridataレポートが含まれるディレクトリ。
構文
server.veridata_data path
path
は、Veridataレポートが格納されるディレクトリの相対または絶対パスです。
ノート:
データ・ディレクトリに相対パスを指定する場合は、スラッシュ(/)またはバックスラッシュ(\)で開始する必要がありません。パスは、Veridataドメイン・ホーム・ディレクトリの相対パスになります。
デフォルト値
veridata/reports
例
server.veridata_data /u01/veridata/reports
これは、出力ディレクトリをデフォルトのVERIDATA_HOME/veridata/reports
から/u01/veridata/reports
に変更することを意味します。
親トピック: サーバー・パラメータ
6.4.4.1.11 socket.timeout.mins
構文
socket.timeout.mins <minutes>
デフォルト値
0
例
socket.timeout.mins 0
親トピック: サーバー・パラメータ
6.4.4.1.12 server.useSsl
このパラメータでは、VeridataサーバーとすべてのVeridataエージェント間の通信にSSLが有効化されているかどうかを指定します。
構文
server.useSsl [true|false]
例
server.useSsl true
デフォルト値
デフォルト値はfalseです。
親トピック: サーバー・パラメータ
6.4.4.1.13 truncate_spaces_len
String列またはBinary列の末尾のスペースの切捨て方法を制御するには、truncate_spaces_len
パラメータを使用します。スペース(U+0020)および表意文字スペース(U+3000)が切捨てターゲットです。
接続構成のOracle GoldenGate Veridata UIにある「接続設定」タブの「値の比較時に末尾のスペースを切捨て」パラメータを使用して、切捨て機能を無効にできます。
このパラメータは、パディング文字がターゲット・スペースの1つである場合、列のパディング文字も切り捨てます。
値が0の場合、すべてのスペースが切り捨てられます。たとえば、data = ""です。
値が1の場合、少なくとも1つのスペースが保持されます。たとえば、data = " "です。
構文
truncate_spaces_len <number_of_trailing_spaces>
デフォルト値
1
例
truncate_spaces_len 0
親トピック: サーバー・パラメータ
6.4.4.2 レポート・ファイルの暗号化のパラメータ
この項では、レポート・ファイルの暗号化に使用される構成可能なパラメータについて定義します。
6.4.4.2.1 server.encryption
このパラメータがtrueに設定されている場合、比較レポート・アーティファクトが暗号化されます。それ以外の場合、レポートの内容はクリア・テキストになります。
構文
server.encryption=[true|false]
例
server.encryption=false
デフォルト値
デフォルト値はfalseです。
親トピック: レポート・ファイルの暗号化のパラメータ
6.4.4.2.2 server.encryption.bits
このパラメータでは、暗号化アルゴリズムの強度を指定します。有効な値は128、192および256です。128より大きい値に設定されている場合は、Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Filesをインストールする必要があります。
構文
server.encryption.bits=[128|192|256]
例
server.encryption.bits=128
デフォルト値
デフォルト値は128です。
親トピック: レポート・ファイルの暗号化のパラメータ
6.4.4.3 電子メール通知およびアラートのパラメータ
電子メール通知を送信するために、Oracle GoldenGate Veridataは送信Simple Mail Transfer Protocol (SMTP)サーバーに接続できます。SMTPサーバーは、パスワード資格証明を必要としないように構成する必要があります。
パスワードが必要な場合は、mail.fromを参照してください。
このトピックでは、電子メール通知およびアラートに必要なパラメータについて説明します。
- mail.enabled
- mail.alert.only
- mail.smtp.server
- mail.smtp.port
- mail.smtp.connection.ssl.tls
mail.smtp.connection.ssl.tls
パラメータは、SSLまたはTLS接続を介してメール・サーバーにアクセスするために使用されます。 - mail.from
- mail.to
mail.to
パラメータは、1人または複数のユーザーに電子メールを送信するために使用されます。電子メールID間の区切り文字としてカンマを使用します。
親トピック: パラメータの説明
6.4.4.3.1 mail.enabled
このパラメータをfalse
に設定すると、電子メール通知はオフになります。
構文
mail.enabled=[true|false]
例
mail.enabled=false
デフォルト値
デフォルト値はfalse
です。
親トピック: 電子メール通知およびアラートのパラメータ
6.4.4.3.2 mail.alert.only
このパラメータをfalse
に設定すると、Oracle GoldenGate Veridataはジョブの完了時に通知電子メールを送信します。true
に設定すると、Veridataは、同期していないか障害が発生した場合にのみアラート電子メールを送信します。
構文
mail.alert.only=[true | false]
例
mail.alert.only=true
デフォルト値
デフォルト値はtrue
。
親トピック: 電子メール通知およびアラートのパラメータ
6.4.4.3.3 mail.smtp.server
構文
mail.smtp.server=<server_address>
例
mail.smtp.server=smtp.host.com
親トピック: 電子メール通知およびアラートのパラメータ
6.4.4.3.4 mail.smtp.port
構文
mail.smtp.port=<port_number>
例
mail.smtp.port=25
親トピック: 電子メール通知およびアラートのパラメータ
6.4.4.3.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
親トピック: 電子メール通知およびアラートのパラメータ
6.4.4.3.6 mail.from
このパラメータは、パスワード認証を必要としないSMTPサーバー上に作成されたユーザー名です。パスワードが必要な場合は、デフォルト・パスワードVer! data1234 (大/小文字を区別)で汎用ユーザーを作成します。
構文
mail.from=<email_address>
例
mail.from=john@mail.com
親トピック: 電子メール通知およびアラートのパラメータ
6.4.4.3.7 mail.to
mail.to
パラメータは、1人または複数のユーザーに電子メールを送信するために使用されます。電子メールID間の区切り文字としてカンマを使用します。
構文
mail.to=<email_address(es)>
例
mail.to=john@mail.com,mary@mail.com,ross@mail.com
親トピック: 電子メール通知およびアラートのパラメータ
6.4.4.4 Oracle Streamsタグ付けのサーバー・パラメータ
Oracle GoldenGate Veridataは、Oracle Stream APIを使用して修復トランザクションにタグを付けます。タグの動作をカスタマイズするために、次のプロパティがサーバー・パラメータとして追加されます。
6.4.4.4.1 repair.oracle.tag.enable
このパラメータを使用すると、REDOログのRepairセッションのタグ付けが有効になります。
Oracle Databaseでのみ有効です。
構文
repair.oracle.tag.enable = false値には、
true
またはfalse
を指定できます。
デフォルト値
true
6.4.4.5 非同期フェッチ戦略の確認用のサーバー・パラメータ
このトピックでは、次のパラメータについて説明します:
親トピック: パラメータの説明
6.4.4.5.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結合を使用しません。
デフォルト値
nokey
親トピック: 非同期確認フェッチ戦略のサーバー・パラメータ