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ファイルで設定されるパラメータについて説明します。これらのパラメータは、次のカテゴリにグループ化されています。

6.4.4.1 サーバー・パラメータ

この項では、Oracle GoldenGate Veridataサーバーの構成可能な次のパラメータについて定義します。

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_bufferstrueに設定されている場合、デフォルト値は2 GBです。入力する最大サイズは、メモリー・マップ・ファイルの最大サイズです。
  • server.mapped_sort_buffersfalseに設定されている場合、デフォルト値は、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を参照してください。

このトピックでは、電子メール通知およびアラートに必要なパラメータについて説明します。

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.4.2 repair.oracle.tag

このパラメータは、REDOログのRepairセッションのタグ値です。

Oracle Databaseでのみ有効です。

構文

repair.oracle.tag = 00

値は、最大2000の16進数(0-9A-F)またはプラス記号(+)を指定できます。

デフォルト値

00

6.4.4.5 非同期フェッチ戦略の確認用のサーバー・パラメータ

このトピックでは、次のパラメータについて説明します:

6.4.4.5.1 coos.join.strategy
内部的には、COOSとJOINでは一時表の作成が使用されます。そのためには、CREATE TABLECREATE TABLESPACECREATE PRIVATE TEMPORARY TABLEおよびINSERT/UPDATE/DELETE権限が必要です。

構文

coos.join.strategy = nokey

値は、nokeyalwaysまたはneverにできます。

説明

nokey - すべての列をキー列として使用(表に主キー制約または一意制約がない)して比較ペアのキー列を選択する場合にのみ、COOS結合戦略を使用します。比較ペアのキー列としてのすべての列の例外は、XML、UDTおよびLobです。

always - COOSステップに常にCOOS結合を使用します。

never - COOSステップにCOOS結合を使用しません。

デフォルト値

nokey