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

接続構成のOracle GoldenGate Veridata UIにある「接続設定」タブの「値の比較時に末尾のスペースを切捨て」パラメータを使用して、切捨て機能を無効にできます。

このパラメータは、パディング文字がターゲット・スペースの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.2.5 server.ssl.algorithm.name

このパラメータでは、SSL通信に使用されるアルゴリズムを指定します。

構文

server.ssl.algorithm.name=algorithm_name

server.ssl.algorithm.name=TLS

デフォルト値

デフォルト値はTLSです。

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.3.4 veridata.cli.server.timeout.seconds

このパラメータでは、JMXサーバーがCLIリクエストに応答するまでVeridata CLIが待機する時間(秒)を指定します。

構文

veridata.cli.server.timeout.seconds seconds

veridata.cli.server.timeout.seconds 90

デフォルト値

デフォルトのタイムアウトは60秒です。

7.4.4 レポート・ファイルの暗号化のパラメータ

この項では、レポート・ファイルの暗号化に使用される構成可能なパラメータについて定義します。

7.4.4.1 server.encryption

このパラメータがtrueに設定されている場合、比較レポート・アーティファクトが暗号化されます。それ以外の場合、レポートの内容はクリア・テキストになります。

構文

server.encryption=[true|false]

server.encryption=false

デフォルト値

デフォルト値はfalseです。

7.4.4.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です。

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.3 mail.smtp.server

構文

mail.smtp.server=<server_address>

mail.smtp.server=smtp.host.com
7.4.5.4 mail.smtp.port

構文

mail.smtp.port=<port_number>

mail.smtp.port=25
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.5.6 mail.from

このパラメータは、パスワード認証を必要としないSMTPサーバー上に作成されたユーザー名です。パスワードが必要な場合は、デフォルト・パスワードVer! data1234 (大/小文字を区別)で汎用ユーザーを作成します。

構文

mail.from=<email_address>

mail.from=john@mail.com 
7.4.5.7 mail.to

mail.toパラメータは、1人または複数のユーザーに電子メールを送信するために使用されます。電子メールID間の区切り文字としてカンマを使用します。

構文

mail.to=<email_address(es)>

mail.to=john@mail.com,mary@mail.com,ross@mail.com

7.4.6 Oracle Streamsタグ付けのサーバー・パラメータ

Oracle GoldenGate Veridataは、Oracle Stream APIを使用して修復トランザクションにタグを付けます。タグの動作をカスタマイズするために、次のプロパティがサーバー・パラメータとして追加されます。

7.4.6.1 repair.oracle.tag.enable

このパラメータを使用すると、REDOログのRepairセッションのタグ付けが有効になります。

Oracle Databaseでのみ有効です。

構文

repair.oracle.tag.enable = false
値には、trueまたはfalseを指定できます。

デフォルト値

true
7.4.6.2 repair.oracle.tag

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

Oracle Databaseでのみ有効です。

構文

repair.oracle.tag = 00

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

デフォルト値

00

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

タグの動作をカスタマイズするために、次のプロパティがサーバー・パラメータとして追加されます:

7.4.7.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結合を使用しません。

デフォルト値

never