7 構成

7.1 Oracle GoldenGate for Distributed Applications and Analyticsの構成

このトピックでは、GG for DAAハンドラを構成する方法について説明します。

7.1.1 Replicatによる実行

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)でReplicatプロセスを構成する前に確認する必要があります。

このトピックでは、Oracle GoldenGate ReplicatプロセスでJavaアダプタを実行する方法について説明します。

7.1.1.1 Replicatのグループ化

Replicatプロセスは、Replicat構成プロパティGROUPTRANSOPSを提供してトランザクションのグループ化を制御します。デフォルトでは、Replicatプロセスは1000個のトランザクションを1つのターゲット・トランザクションにグループ化します。トランザクションのグループ化をオフにする場合は、ReplicatプロパティGROUPTRANSOPS1に設定します。

7.1.1.2 Replicatチェックポイントについて

Replicatチェックポイント・ファイル.cprのほか、データベースのReplicatにおけるCHECKPOINTTABLEと似た情報を含む追加のチェックポイント・ファイルdirchk/group.cpjも作成されます。

7.1.1.3 初期ロードのサポートについて

Replicatではすでに、一連の証跡ファイルに書き込むオンライン・キャプチャ・プロセスおよび初期ロード・プロセスの両方からの証跡ファイルを読み取ることができます。さらに、Extractパラメータ・ファイルでRMTTASKの指定を使用して、特別実行の初期ロード・プロセスの配信をサポートするようにReplicatを構成することもできます。ダイレクト・ロードの構成の詳細は、Oracle GoldenGateダイレクト・ロードを使用したデータのロードに関する項を参照してください。

ノート:

SOURCEDBまたはDBLOGINパラメータの指定は、ソース・データベースによって異なります。

7.1.1.4 サポートされないReplicatの機能について

次のReplicat機能は、このリリースではサポートされません。

  • BATCHSQL

  • SQLEXEC

  • ストアド・プロシージャ

  • 競合の解決および検出(CDR)

7.1.1.5 マッピング機能の仕組み

Oracle GoldenGate Replicatプロセスは、カスタム・ターゲット・スキーマへのマッピングをサポートしています。メタデータ・プロバイダ機能を使用して、ターゲット・スキーマ(複数も可)を定義してから、Replicat構成ファイルで標準のReplicatマッピング構文を使用して、マッピングを定義する必要があります。レプリケーション構成ファイルのReplicatマッピング構文の詳細は、データのマッピングと操作に関する項を参照してください。

7.1.2 スキーマ展開およびメタデータ変更イベントについて

証跡内のメタデータは、スキーマ展開やGG for DAAのターゲット・アプリケーションへのスキーマ伝播など、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)によってメタデータ変更イベントを実行時にシームレスに処理できるようにする機能です。NO_OBJECTDEFSは、ExtractおよびReplicatのEXTTRAILおよびRMTTRAILパラメータのサブパラメータで、証跡機能の重要なメタデータを抑制し、静的なメタデータ定義の使用に戻すことができます。

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)のハンドラとフォーマッタには、メタデータ変更イベントが発生したときにアクションを実行する機能があります。メタデータ変更イベントが発生したときにアクションを実行できる機能は、ソース証跡ファイルで利用できるメタデータ変更イベントによって異なります。Oracle GoldenGate は、ソースのOracleデータベースからの証跡のメタデータと、DDLデータを伝播をサポートします。ソース証跡ファイルに、証跡内のメタデータとDDLデータ(メタデータ変更イベント)がない場合は、GG for DAAでメタデータ変更イベントを処理できません。

7.1.3 構成プロパティCDATA[]のラッピングについて

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)のハンドラおよびフォーマッタでは、Javaプロパティ・ファイル内の多くのパラメータの構成がサポートされており、その値が空白として解釈される場合があります。Javaアダプタの構成処理では、Java構成ファイルの構成値から空白が削除されます。空白を削除するこの動作は、構成値によっては望ましいこともありますか、別の構成値には望ましくない場合もあります。また、選択した構成変数で空白が維持されるように、空白値を特殊な構文でラップできます。GG for DAAは、空白を維持するためにCDATA[]のXML構文を借用しています。空白文字と見なされる値を、CDATA[]の内部にラップできます。

区切りテキスト・フォーマッタで、改行を区切り文字として設定しようとする例を次に示します。

gg.handler.{name}.format.lineDelimiter=\n

この構成は成功しません。改行文字は空白として解釈され、構成値から削除されてしまうからです。したがって、gg.handler設定では実質的に、行区切り文字が空白文字列に設定されます。

改行文字の構成を維持するには、次のように、その文字をCDATA[]ラッパーでラップするだけです。

gg.handler.{name}.format.lineDelimiter=CDATA[\n]

CDATA[]のラッピングでプロパティを構成すると、空白が維持され、行区切り文字は改行文字になります。

7.1.4 正規表現を使用した検索と置換

個別に構成されるスキーマ・データ(カタログ名、スキーマ名、表名、列名)と列値データの両方についてより強力な検索および置換操作を実行できます。正規表現(regex)は、パターン・マッチングを通じて検索文字列をカスタマイズする文字列です。

文字列を1つのパターンまたは正確に一致する部分に一致させることができます。Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)では、標準のOracle Java正規表現パッケージjava.util.regexが使用されます。The Single UNIX Specification, Version 4の正規表現を参照してください。

7.1.4.1 スキーマ・データの置換の使用

gg.schemareplaceregexおよびgg.schemareplacestringプロパティを使用してスキーマ・データを置換できます。gg.schemareplaceregexを使用して正規表現を設定してから、それを使用してカタログ名、スキーマ名、表名、および列名で対応する一致項目を検索します。一致項目はgg.schemareplacestring値の内容に置き換えられます。gg.schemareplacestringのデフォルト値は空の文字列または""です。

たとえば、システム表名の中には、$mytableのようにドル記号から始まるものがあります。ほとんどのテクノロジでは表名でドル記号を使用できませんが、これらの表を複製する必要がある場合があります。ドル記号を削除するには、次の置換文字列を構成できます。

gg.schemareplaceregex=[$] 
gg.schemareplacestring= 

検索および置換された表名の結果の例はmytableです。これらのプロパティはCDATA[]ラッピングもサポートして、構成値の値の空白を保持します。したがって、前と同じ例でCDATA[]ラッピングすると次のようになります。

gg.schemareplaceregex=CDATA[[$]]
gg.schemareplacestring=CDATA[]

スキーマの検索および置換機能は、次の構成構文を使用した複数の検索正規表現および置換文字列の使用をサポートします。

gg.schemareplaceregex=some_regex
gg.schemareplacestring=some_value
gg.schemareplaceregex1=some_regex
gg.schemareplacestring1=some_value
gg.schemareplaceregex2=some_regex
gg.schemareplacestring2=some_value
7.1.4.2 コンテンツ・データの置換の使用

gg.contentreplaceregexおよびgg.contentreplacestringプロパティを使用してコンテンツ・データを置換し、構成された正規表現を使用して列値を検索して、一致項目を置換文字列で置換できます。たとえば、これは列値の改行文字を置き換えるのに役立ちます。区切りテキスト・フォーマッタが使用された場合、データに含まれる改行文字は分析ツールで行区切り文字として誤って解釈されます。

n個のコンテンツ置換regex検索値を構成できます。regex検索および置換は、構成の順序で実行されます。構成される値は、次の特定の順序に従う必要があります。

gg.contentreplaceregex=some_regex 
gg.contentreplacestring=some_value 
gg.contentreplaceregex1=some_regex 
gg.contentreplacestring1=some_value 
gg.contentreplaceregex2=some_regex 
gg.contentreplacestring2=some_value

添え字2を使用せずに添え字3を構成すると、添え字3の構成が無視されます。

注意:

 正規表現の検索と置換では、コンピューティング処理が必要であり、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)プロセスのパフォーマンスが低下する可能性があります。

改行を空白文字に置き換えるには、次のプロパティ構成を使用できます。

gg.contentreplaceregex=[\n] 
gg.contentreplacestring=CDATA[ ]

これによって、列値が次の値から変更されます。

this is 
me

変更後:

this is me

どちらの値もCDATAラッピングをサポートします。2つ目の値はCDATA[]ラッパーでラップする必要があります。1つの空のスペースは空白と解釈されて、GG for DAA構成層でトリミングされます。さらに、複数の検索および置換文字列を構成できます。たとえば、次の文字列から改行を削除するのに加え、列値から先頭および末尾の空白も削除します。

^\\s+|\\s+$
gg.contentreplaceregex1=^\\s+|\\s+$ 
gg.contentreplacestring1=CDATA[]

7.1.5 Oracle GoldenGate for Distributed Applications and Analytics配信のスケーリング

 Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)では、スループット向上のために、ソース証跡ファイルの分割がサポートされています。その場合は、複数のReplicatプロセスに分割するか、Coordinated Deliveryを使用して単一のReplicatプロセス内で複数のJavaアダプタ・インスタンスをインスタンス化します。これにより、GG for DAA配信をスケーリングできます。

パフォーマンスが最大になるようにハンドラをチューニングした後でも、GG for DAA統合ターゲットへのスループットが、サービス・レベル合意を満たすのに不十分な場合があります。これが発生すると、次のいずれかの方法を使用して、パラレル処理を構成し、ターゲットに配信できます。

  • 複数のReplicatプロセスを、同じソース証跡ファイルからデータを読み取るように構成できます。すべてのプロセスがソース証跡ファイル全体をまとめて処理するように、これらの各Replicatプロセスは、ソース証跡ファイルのデータのサブセットを処理するよう構成されます。このソリューションを使用した別々のReplicatプロセス間の調整はありません。

  • Oracle GoldenGate Coordinated Deliveryは、単一のReplicatプロセス内のソース証跡ファイルからのデータの処理をパラレル化するために使用できます。このソリューションは、構成済の各サブセットが別の配信スレッドによって処理される論理サブセットへの証跡ファイルの分割を伴います。調整済Replicatの詳細は、『Oracle GoldenGate Microservicesドキュメント』で調整済Replicatについてを参照してください。

どちらの方法でも、スループットの向上のため、データをパラレル処理に分割できます。次の2つの方法のいずれかでデータを分割することをお薦めします。

  • ソース・データをソース表別に分割 - データはソース表別のサブセクションに分割されます。たとえば、Replicatプロセス1はソース表(表1および表2)を処理しますが、Replicatプロセス2はソース表(表3および表2)のデータを処理します。データはソース表ごとに分割され、個々の表データはさらに分割されることはありません。

  • ソース表データをサブストリームに分割 - ソース表のデータが分割されます。たとえば、Replicatプロセス1はソース表1のデータ範囲の半分を処理し、Replicatプロセス2はソース表1のもう半分のデータを処理します。

  • 調整済Replicatを使用している場合は、必ずTARGETDB LIBFILE libggjava.so SET property=path_to_deployment_home/etc/conf/ogg/your_replicat_name.propertiesを追加してください。

その他の制限事項:

  • パラレル適用はサポートされていません

  • BATCHSQLパラメータはサポートされていません。

例7-1 Oracle GoldenGate for Distributed Applications and Analyticsのハンドラのスケーリング・サポート

ハンドラ名 ソース・データをソース表別に分割 ソース表データをサブストリームに分割

Cassandra

サポート対象

次の場合にサポートされます:

  • Cassandraで必要なターゲット表が事前作成されている場合。

  • メタデータ変更イベントが発生しない場合。

Elastic Search

サポート対象

サポート対象

HBase

必要なすべてのHBaseネームスペースがHBaseで事前作成されている場合にサポートされます。

次の場合にサポートされます:

  • 必要なすべてのHBaseネームスペースがHBaseで事前作成されている場合。

  • 必要なすべてのHBaseターゲット表がHBaseで事前作成されている場合。HBase表にはスキーマ定義がなく、ソース・メタデータ変更にHBaseでのスキーマ変更は必要ではないため、スキーマ展開は問題ではありません。

  • ソース・データに切捨て操作が含まれない場合。

HDFS

サポート対象

いくつかの制限付きでサポートされています。

  • 生成されるHDFSファイルの命名規則を、ファイル名が衝突しないように選択する必要があります。HDFSファイル名が衝突すると、Replicatが異常終了します。調整された適用を使用する場合は、${groupName}gg.handler.name.fileNameMappingTemplateプロパティの構成の一部として構成することをお薦めします。${groupName}テンプレートによってReplicatのスレッド番号に連結されたReplicat名に解決され、Replicatスレッドごとに一意の命名が提供されます。

  • HDFSとHiveの統合へのスキーマの伝播は、現在はサポートされていません

JDBC

サポート対象

サポート対象

Kafka

サポート対象

Avroなど、スキーマの伝播をサポートするフォーマットに対してサポートされます。これは、複数のインスタンスによって同じスキーマ情報がターゲットにフィードされるため、あまり望ましくありません。

Kafka Connect

サポート対象

サポート対象

Kinesis Streams

サポート対象

サポート対象

MongoDB

サポート対象

サポート対象

Javaファイル・ライター サポート対象 サポートされますが次の制限があります。

生成されるファイルの命名規則を、ファイル名が衝突しないように選択する必要があります。ファイル名が衝突していると、Replicatの異常終了またはデータの汚染が発生する場合があります。調整された適用を使用する場合は、${groupName}gg.handler.name.fileNameMappingTemplateプロパティの構成の一部として構成することをお薦めします。${groupName}テンプレートによってReplicatのスレッド番号に連結されたReplicat名に解決され、Replicatスレッドごとに一意の命名が提供されます。

7.1.6 クラスタの高可用性の構成

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)には、組込みの高可用性機能はありません。高可用性機能を提供するには、標準のクラスタ・ソフトウェアの高可用性機能を使用する必要があります。

クラスタに高可用性シナリオを構成すると、マシン上の(GG for DAA)のリーダー・インスタンスに障害が発生した場合に、別のマシンで別のGG for DAAインスタンスを起動し、障害が発生したインスタンスが中断した時点から再開できます。

共有ディスク・アーキテクチャを使用して、同じGG for DAAおよびOracle GoldenGateファイルを共有するようにインスタンスを手動で構成すると、フェイルオーバーの状態を作成できます。クラスタ・インストールの場合、これらのファイルはすべてのマシンからアクセスできて、同じ場所でアクセスできる必要があります。

共有する必要がある構成ファイルは次のとおりです。

  • replicat.prm

  • ハンドラのプロパティ・ファイル。

  • 特定のアダプタに必要な追加のプロパティ・ファイル。これは使用しているターゲット・ハンドラによって異なります。たとえば、Kafkaではプロデューサ・プロパティ・ファイルです。

  • 生成した追加のスキーマ・ファイル。たとえば、dirdefディレクトリに生成されたAvroスキーマ・ファイルです。

  • ローカル・ファイル・システムの構成されたパスにファイル・ライター・ハンドラによって生成されたファイル。また、dirstaディレクトリのファイル・ライター・ハンドラの状態ファイル。

  • 使用しているlog4j.propertiesファイルまたはlogback.propertiesファイル。

処理を再開できるようにするには、チェックポイント・ファイルが共有されている必要があります。

  • Replicatチェックポイント・ファイル(*.cpr)。

  • アダプタ・チェックポイント・ファイル(*.cpj)。

7.1.7 Oracle GoldenGate資格証明ストアでの識別子の使用

Oracle GoldenGateの資格証明ストアはユーザーIDおよびその暗号化されたパスワード(ともに資格証明と呼ばれます)を管理します。これらはOracle GoldenGateプロセスにより使用され、ローカル・データベースと対話します。資格証明ストアを使用すると、Oracle GoldenGateのパラメータ・ファイルにユーザー名およびクリアテキスト・パスワードを指定する必要がなくなります。

ユーザーIDのかわりにパラメータ・ファイルのオプションの別名を使用して、資格証明ストアのユーザーIDとパスワードのペアにマップすることもできます。資格証明ストアはOracle Credential Store Framework (CSF)内の自動ログイン・ウォレットとして実装されます。LDAPディレクトリの使用は、Oracle GoldenGate資格証明ストアではサポートされていません。自動ログイン・ウォレットは、必要なパスワードを指定するための人の介在を必要とせず、Oracle GoldenGateプロセスの自動再起動をサポートします。

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)では、実際のユーザーIDまたはパスワードではなく、別名およびドメインをプロパティ・ファイル内で指定します。ユーザー資格証明は、セキュアなウォレット・ストレージで管理されます。

7.1.7.1 資格証明ストアの作成

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)環境の資格証明ストアを作成できます。

GGSCI ADD CREDENTIALSTOREコマンドを使用して、Oracle GoldenGateインストール・ディレクトリ(デフォルト)のdircrd/サブディレクトリにあるcwallet.ssoという名前のファイルを作成します。

資格証明ストアcwallet.ssoファイルの場所を指定するには、GLOBALSファイルのCREDENTIALSTORELOCATIONパラメータで目的の場所を指定します。

資格証明ストアのコマンドの詳細は、Oracle GoldenGateパラメータおよび機能リファレンスを参照してください。

ノート:

Oracle GoldenGateインスタンスごとに1つの資格証明ストアのみ使用できます。

7.1.7.2 資格証明ストアへのユーザーの追加

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)環境の資格証明ストアを作成した後、そのストアにユーザーを追加できます。

各ユーザーを作成するにはGGSCI ALTER CREDENTIALSTORE ADD USER userid PASSWORD password [ALIAS alias] [DOMAIN domain]コマンドを実行します。

  • useridはユーザー名です。資格証明ストアに配置できるユーザー名のインスタンスは1つのみです(ALIASまたはDOMAINオプションが使用されていない場合)。

  • passwordはユーザーのパスワードです。このオプションを使用すると、パスワードはエコーされます(不明瞭化されません)。このオプションを省略すると、コマンドはパスワードを要求しますが、入力時に不明瞭化されます(より安全な方法として推奨されます)。

  • aliasはユーザー名の別名です。ログイン資格証明が必要なパラメータとコマンドでは、資格証明のかわりに別名を使用します。ALIASオプションを省略すると、別名はデフォルトでユーザー名に設定されます。

たとえば:

ALTER CREDENTIALSTORE ADD USER scott PASSWORD tiger ALIAS scsm2 domain ggadapters

資格証明ストアのコマンドの詳細は、Oracle GoldenGateパラメータおよび機能リファレンスを参照してください。

7.1.7.3 資格証明ストアにアクセスするためのプロパティの構成

Oracle GoldenGate Java Adapterプロパティ・ファイルでは、実行時に資格証明ストアのユーザー名とパスワード・エントリを解決する固有の構文が必要です。ユーザー名を解決するための構文は次のとおりです。

ORACLEWALLETUSERNAME[alias domain_name]

パスワードを解決するための構文は次のとおりです。

ORACLEWALLETPASSWORD[alias domain_name]

次の例は、myaliasという別名とmydomainというドメインで資格証明ストアのエントリを構成する方法を示しています。

ノート:

HDFS Hive JDBCでは、ユーザー名とパスワードが暗号化されます。

Oracle Walletの統合は、文字列usernameまたはpasswordを含む構成プロパティに対してのみ機能します。たとえば:

gg.handler.hdfs.hiveJdbcUsername=ORACLEWALLETUSERNAME[myalias mydomain] 
gg.handler.hdfs.hiveJdbcPassword=ORACLEWALLETPASSWORD[myalias mydomain]

ORACLEWALLETUSERNAMEおよびORACLEWALLETPASSWORDは、JMSハンドラのExtract (Replicatと同様)でも使用できます。たとえば:

gg.handler.<name>.user=ORACLEWALLETUSERNAME[JMS_USR JMS_PWD]
 
gg.handler.<name>.password=ORACLEWALLETPASSWORD[JMS_USR JMS_PWD]

ユーザー名とパスワードのエントリは資格証明ストアでアクセス可能な値と見なされます。Java Adapter層で解決される(Cユーザー・イグジット層ではアクセスされない)構成プロパティは資格証明ストアから解決できます。これにより、機密情報を含む構成エントリを保護する方法に柔軟性を持たせることができます。

7.2 ロギング

ロギングは、Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)とGG for DAAターゲットの統合に関するトラブルシューティングに不可欠です。

このトピックでは、GG for DAA統合のログと、ロギングのベスト・プラクティスについて説明します。

7.2.1 Replicatプロセスのロギングについて

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)統合では、Javaメッセージの配信で説明されている、Java配信の機能が利用されます。この設定では、Oracle GoldenGateのReplicatプロセスがユーザー・イグジット共有ライブラリをロードします。この共有ライブラリは次に、Java仮想マシンをロードし、それによってJavaインタフェースを提供するターゲットとのインタフェースをとります。したがって、データのフローは次のようになります。

Replicatプロセス —> ユーザー・イグジット —> Java層

ユーザーがログを見直して新しいインストールと統合をトラブルシューティングするには、すべての層で正しくログを記録することが重要です。また、問題が発生してOracleサポートへの連絡が必要になった場合も、ログ・ファイルは問題を効率的に解決するために、Oracleサポートに提供する情報としても重要です。

Replicatプロセスを実行すると、GoldenGate_Home/dirrptディレクトリにprocess_name.rptという命名規則に従って、ログ・ファイルが作成または追加されます。新しいOracle GoldenGateプロセスをデプロイするときに問題が発生した場合は、最初に問題の有無を調べるべきログの候補です。GG for DAA アプリケーションと統合する場合、Java層は重要です。

7.2.2 Java層のロギングについて

Oracle GoldenGate for Distributed Applications and Analytics (GG for DAA)製品では、Java層からのロギングについて柔軟性があります。ベスト・プラクティスとしては、Log4jロギングを使用してJava層からログを記録することをお薦めします。単純なLog4jロギングを有効にするには、Javaアダプタ構成ファイルで2つの構成値を設定する必要があります。

gg.log=log4j
gg.log.level=INFO

これらのgg.log設定で、Log4jファイルはGoldenGate_Home/dirrptディレクトリに作成され、ファイル名は{GROUPNAME}.logという命名規則に従います。サポートされるLog4jログ・レベルは、ロギングの粒度の順に次のリストになります。

  • OFF

  • FATAL

  • ERROR

  • WARN

  • INFO

  • DEBUG

  • TRACE

ロギング・レベルの選択には、粒度が低いほうのロギング・レベルがすべて含まれます(つまり、WARNを選択した場合は、FATALERRORWARNのログ・メッセージがログ・ファイルに書き込まれます)。Log4jロギングはまた、個々のLog4jプロパティ・ファイルでも制御できます。こうした個別のLog4jプロパティ・ファイルを有効にするには、Javaアダプタ・プロパティ・ファイルでbootoptionsプロパティを編集します。Log4jプロパティ・ファイルの3つの例が、インストール時に追加され、次のクラスパスにも含まれています。

log4j-default.properties
log4j-debug.properites
log4j-trace.properties

これらのファイルのいずれかで、次のようにbootoptions を変更できます。

javawriter.bootoptions=-Xmx512m -Xms64m -Djava.class.path=.:ggjava/ggjava.jar -Dlog4j.configurationFile=samplelog4j.properties

カスタマイズした独自のLog4jプロパティ・ファイルを使用してロギングを制御できます。カスタマイズしたLog4jプロパティ・ファイルを、JVMが検索してロードするには、それがJavaクラスパスに存在する必要があります。カスタムLog4jプロパティ・ファイルの例を次に示します。

# Root logger option 
log4j.rootLogger=INFO, file 
 
# Direct log messages to a log file 
log4j.appender.file=org.apache.log4j.RollingFileAppender 
 
log4j.appender.file.File=sample.log 
log4j.appender.file.MaxFileSize=1GB 
log4j.appender.file.MaxBackupIndex=10 
log4j.appender.file.layout=org.apache.log4j.PatternLayout 
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
There are two important requirements when you use a custom Log4j properties file. First, the path to the custom Log4j properties file must be included in the javawriter.bootoptions property. Logging initializes immediately when the JVM is initialized while the contents of the gg.classpath property is actually appended to the classloader after the logging is initialized. Second, the classpath to correctly load a properties file must be the directory containing the properties file without wildcards appended.

7.3 ロギングの構成

7.3.1 Oracle GoldenGate Javaアダプタのデフォルト・ロギング

7.3.1.1 デフォルトのロギング設定

Oracle GoldenGate for BigDataでは、ロギングがデフォルトで有効になっています。ロギング実装はlog4jです。デフォルトでは、ロギングはinfoレベルで有効化されます。

7.3.1.2 ログ・ファイル名

ログ出力ファイルは、標準のレポート・ディレクトリ内に作成されます。ログ・ファイルの名前にはReplicatグループ名が含まれ、logの拡張子が付与されます。

Oracle GoldenGateのReplicatプロセス・グループ名がJAVAUEの場合、レポート・ディレクトリ内のログ・ファイル名はJAVAUE.logになります。

7.3.1.3 ロギング・レベルの変更
推奨されるlog4jロギング・レベルを変更するには、次の例に示す構成をJavaアダプタ・プロパティ・ファイルに追加します。
gg.log.level=error

gg.log.levelnoneerrorwarninfodebugまたはtraceに設定できます。デフォルトのログ・レベルはinfoです。debugおよびtraceのログ・レベルはトラブルシューティング時にのみ使用することをお薦めします。これらの設定はパフォーマンスに悪影響を及ぼす可能性があるためです。

7.3.2 推奨されるロギング設定

Javaユーザー・イグジットの統一的なロギングには、JDKのデフォルトではなくlog4jロギングを使用することをお薦めします。log4jを使用すると、Oracle GoldenGate Replicatプロセスで実行するときに、Javaモジュールの統一的なロギングが可能です。

7.3.2.1 推奨されるロギング・タイプへの変更

推奨されるlog4jロギング実装を変更するには、次の例に示す構成をJavaアダプタ・プロパティ・ファイルに追加します。

gg.log=log4j
gg.log.level=info

gg.logのレベルは、noneerrorwarninfodebugまたはtraceに設定できます。デフォルトのログ・レベルはinfoです。debugとtraceのログ・レベルが推奨されるのはトラブルシューティングの場合のみです。パフォーマンスに悪影響を及ぼす可能性があるためです。

その場合、Javaモジュールのログ・ファイルは、次の命名規則に従ってdirrptディレクトリに作成されます。

<process name>_<log level>log4j.log

したがって、Oracle GoldenGate Replicatプロセスはjavaueと呼ばれ、gg.log.levelがdebugに設定されるため、ログ・ファイルの名前は次のようになります。

javaue_debug_log4j.log