9 Oracle GoldenGateパラメータ・ファイルの使用
ほとんどのOracle GoldenGate機能は、パラメータ・ファイルに指定されたパラメータによって制御されます。パラメータ・ファイルは、関連するOracle GoldenGateプロセスによって読み取られるプレーン・テキスト・ファイルです。Oracle GoldenGateでは、GLOBALS
ファイルとランタイム・パラメータ・ファイルという2種類のパラメータ・ファイルが使用されます。
内容は次のとおりです。
9.1 パラメータ・ファイルのグローバリゼーション・サポート
Oracle GoldenGateでは、ローカル・オペレーティング・システムのデフォルト文字セットでパラメータ・ファイルが作成されます。ローカル・プラットフォームで、必要な文字セットがオペレーティング・システムのデフォルトとしてサポートされていない場合は、CHARSET
パラメータをグローバルに、またはプロセス単位で使用して、パラメータ・ファイルの文字セットを指定できます。
文字セットの非互換性による問題を回避するため、パラメータ・ファイルは、関連プロセスが実行されるサーバーで作成または編集します。あるシステム(Windowsラップトップなど)で作成したファイルを、Oracle GoldenGateがインストールされている、オペレーティング・システムの文字セットが異なるUNIXサーバーに転送するのは避けてください。Oracle GoldenGateには、パラメータ・ファイルを別のシステムで作成する必要がある場合に、文字セットの非互換性の問題を解決するためのツールがいくつか用意されています。
-
CHARSET
パラメータを使用すると、互換性のある文字セットをパラメータ・ファイルに指定できます。このパラメータは、指定した文字セットでファイルを記述できるようにするもので、パラメータ・ファイルの1行目に置く必要があります。ファイルを別のシステムに転送したら、そのシステムでは編集しないでください。 -
ファイルが使用されるオペレーティング・システムの文字セットと互換性のない文字には、Unicode表記法を代用できます。Unicode表記の使用方法の詳細は、「エスケープ・シーケンスのサポート」を参照してください。
CHARSET
パラメータの詳細は、『Oracle GoldenGateリファレンス』を参照してください。
9.2 GLOBALSファイルの操作
GLOBALS
ファイルには、Oracle GoldenGateインスタンス全体に関連するパラメータが格納されます。これは、Extractなどの特定のプロセスと関連付けられているランタイム・パラメータとは対照的です。GLOBALS
ファイルのパラメータは、Oracle GoldenGateインスタンスのすべてのプロセスに適用されますが、特定のプロセスのパラメータによって上書きされることがあります。GLOBALS
パラメータ・ファイルは、Oracle GoldenGate環境に必要な場合と必要でない場合があります。
ノート:
GLOBALS
ファイルはClassic Architectureに固有です。
GLOBALS
を使用する場合、GGSCIなどのOracle GoldenGateプロセスを起動する前にこのファイルが存在している必要があります。GGSCIプログラムは、GLOBALS
ファイルを読み取って、各パラメータを適切なプロセスに渡します。
GLOBALSファイルの作成手順
9.3 ランタイム・パラメータの操作
ランタイム・パラメータによって、次のようなOracle GoldenGateの同期の様々な機能を制御します。
-
データの選択、マッピング、変換およびレプリケーション
-
DDLおよび順序の選択、マッピングおよびレプリケーション(サポートされる場合)
-
エラーの解決
-
ロギング
-
ステータスおよびエラーのレポート
-
システム・リソースの使用方法
-
起動時および実行時の動作
Oracle GoldenGateのインストールごとにマネージャ・プロセスを1つだけ含めることができます。これはmgr.prm
パラメータ・ファイルを使用して構成します。単一のインストールに複数のExtractおよびReplicatを実行できますが、それぞれを1つのパラメータ・ファイルのみと関連付けることができます。ExtractおよびReplicatの場合、これらは大/小文字を区別しない名前で識別されます。たとえば、EXT_DEMO
という名前のExtractには、EXT_DEMO.prm
という関連パラメータ・ファイルが1つあります。パラメータ・ファイルの使用を簡略化する方法の詳細は、「パラメータ・ファイルの作成の簡略化」を参照してください。
パラメータには、次のようにグローバル・パラメータ(GLOBALS
パラメータとは異なります)とオブジェクト固有パラメータの2種類があります。
-
グローバル・パラメータは、パラメータ・ファイルに指定されているすべてのデータベース・オブジェクトに適用されます。たとえば、プロセスの動作に影響するパラメータや、メモリー使用率などの機能に影響するパラメータがあります。例9-1および例9-3の
USERIDALIAS
は、グローバル・パラメータの例です。ほとんどの場合、グローバル・パラメータは、ファイル内の、データベース・オブジェクトを指定するパラメータより前の任意の場所で指定できます(たとえば、例9-1および例9-3のTABLE
文やMAP
文)。グローバル・パラメータは、ファイル内で1回のみリストされる必要があります。複数回リストされると、最後のインスタンスのみがアクティブになり、他のすべてのインスタンスは無視されます。 -
オブジェクト固有パラメータでは、データベース・オブジェクトの異なるセットに対して異なる処理ルールを適用できます。例9-3の
GETINSERTS
およびIGNOREINSERTS
は、オブジェクト固有パラメータの例です。どちらのパラメータも、影響を受けるオブジェクトを指定するMAP
文の前にあります。オブジェクト固有パラメータは、ファイルにリストされている順序で有効になります。
例9-1と例9-3に、ExtractおよびReplicatの基本パラメータ・ファイルの例を示します。コメントの先頭にはハイフンが2つ付いています。
前述の例は、大/小文字が区別されないOracleデータベースを反映したもので、オブジェクト名がTABLE
文に大文字で指定されています。大/小文字が区別されないOracleデータベースの場合、パラメータ・ファイルに名前をどのように入力しても(大文字でも、小文字でも、大文字と小文字が混在していても)違いは生じません。他のデータベースの場合は、オブジェクト名の大/小文字が問題になることがあります。オブジェクト名の指定の詳細は、「Oracle GoldenGateの入力におけるオブジェクト名の指定」を参照してください。
例9-1に示したReplicatサンプルでの一重引用符と二重引用符の使用方法に注意してください。オブジェクト名の大/小文字を区別するには引用符が必要になるデータベース(Oracleなど)の場合、大/小文字が区別されるオブジェクト名はパラメータ・ファイルでも二重引用符で囲む必要があります。大/小文字が区別されるその他のデータベースでは、データベースに保存されているとおりに名前を指定します。名前およびリテラルの指定方法の詳細は、「Oracle GoldenGateの入力におけるオブジェクト名の指定」を参照してください。
例9-1 Extractのサンプル・パラメータ・ファイル
-- Extract group name EXTRACT capt -- Extract database user login, with alias to credentials in the credential store. USERIDALIAS ogg1 -- Remote host to where captured data is sent in encrypted format: RMTHOSTOPTIONS sysb, MGRPORT 7809, ENCRYPT AES192 KEYNAME mykey -- Encryption specification for trail data ENCRYPTTRAIL AES192 -- Remote trail on the remote host RMTTRAIL /ggs/dirdat/aa With these lines: -- Encryption specification for trail data ENCRYPTTRAIL AES192 -- Local trail on the remote host EXTTRAIL ./dirdat/aa
例9-2 Extractのサンプル・ポンプ・パラメータ・ファイル
-- Extract Pump group name
EXTRACT pmp
-- Remote host to where captured data is sent in encrypted format:
RMTHOSTOPTIONS sysb, MGRPORT 7809, ENCRYPT AES192 KEYNAME mykey
-- Encryption specification for trail data
ENCRYPTTRAIL AES192
-- Remote trail on the remote host
RMTTRAIL /ggs/dirdat/bb
-- TABLE statements that identify data to capture.
TABLE FIN.*;
TABLE SALES.*;
例9-3 Replicatのサンプル・パラメータ・ファイル
-- Replicat group name REPLICAT deliv -- Replicat database user login, with alias to credentials in the credential store USERIDALIAS ogg2 -- Error handling rules REPERROR DEFAULT, ABEND -- Ignore INSERT operations IGNOREINSERTS -- MAP statement to map source objects to target objects and -- specify column mapping MAP "fin"."accTAB", TARGET "fin"."accTAB", COLMAP ("Account" = "Acct", "Balance" = "Bal", "Branch" = "Branch"); -- Get INSERT operations GETINSERTS -- MAP statement to map source objects to target objects and -- filter to apply only the 'NY' branch data. MAP "fin"."teller", TARGET "fin"."tellTAB", WHERE ("Branch" = 'NY');
9.4 パラメータ・ファイルの作成
パラメータ・ファイルをオペレーティング・システムの文字セットで記述する場合はGGSCIの使用をお薦めしますが、CHARSET
パラメータを使用して別の文字セットでファイルを記述する場合は、GGSCIのかわりにテキスト・エディタを使用してください。
内容は次のとおりです。
9.4.1 GGSCIおよび管理クライアントでパラメータ・ファイルを作成する方法
パラメータ・ファイルを作成するには、GGSCIまたは管理クライアントのユーザー・インタフェースを介したコマンドライン・インタフェース内でEDIT PARAMS
コマンドを使用するか、テキスト・エディタを直接使用します。コマンドライン・インタフェースを使用する場合、標準のテキスト・エディタを使用しますが、パラメータ・ファイルは正しいファイル名で適切なディレクトリに自動的に保存されます。
EDIT PARAMS
でパラメータ・ファイルを作成すると、そのファイルはOracle GoldenGateディレクトリのdirprm
サブディレクトリに保存されます。dirprm
以外のディレクトリにパラメータ・ファイルを作成することは可能ですが、プロセス・グループの作成時にもADD EXTRACTまたはADD REPLICATコマンドの
PARAMS
オプションでそのフルパス名を指定する必要があります。パラメータ・ファイルは、ExtractグループまたはReplicatグループに一度関連付けたら、処理の開始後にOracle GoldenGateを適切に動作させるため、元の場所から移動しないでください。
EDIT PARAMS
コマンドによって、GGSCIまたは管理クライアント・インタフェース内で次のテキスト・エディタが起動されます。
-
Microsoft Windowsシステムの場合、メモ帳
-
UNIXおよびLinuxシステムの場合、viエディタSSHまたはxtermに接続されている場合、DB2 for iはviのみをサポートします。詳細は、テキスト・エディタでパラメータ・ファイルを作成する方法を参照してください。
ノート:
GGSCIまたは管理クライアント・インタフェースを通じてデフォルト・エディタを変更するには、
SET EDITOR
コマンドを使用します。
親トピック: パラメータ・ファイルの作成
9.4.2 テキスト・エディタでパラメータ・ファイルを作成する方法
テキスト・エディタを使用してGGSCIまたは管理クライアントの外部でパラメータ・ファイルを作成できますが、次の点に注意してください。
-
パラメータ・ファイルは、そのファイルを所有するExtractグループまたはReplicatグループの名前で保存するか、そのファイルをManagerプロセスが所有する場合は
mgr
という名前で保存します。.prm
というファイル拡張子を使用します。たとえば、extfin.prm
やmgr.prm
のようになります。 -
パラメータ・ファイルは、Oracle GoldenGateのインストール・ディレクトリの
dirprm
ディレクトリに保存します。 -
DB2 for iシステムの場合は、SEUまたはEDTFを使用して、5250端末からパラメータ・ファイルを編集できます。SEUを使用する場合は、
CPYTOSTMF
コマンドを使用してファイルをコピーし、CCSID 1208のエンコーディングおよび*LFの行末を指定する必要があります。F15 (サービス)からEDTFで編集する場合は、ファイルのCCSIDを1208、EOLオプションを*LFに変更する必要があります。または、IBM Portable Application Solutions Environment for iから
Rfile
コマンドを使用できます。
親トピック: パラメータ・ファイルの作成
9.5 パラメータ・ファイルの検証
checkprm
検証用ネイティブ・コマンドはコマンドラインから実行され、構成可能なアプリケーションと実行環境を使用して、指定されたパラメータ・ファイルのアセスメントを提供します。単純にPASS
/FAIL
を表示するか、各パラメータの値がどのように格納され解釈されるかに関するオプション詳細を付けて表示することもできます。
CHECKPRM
実行可能ファイルは、Classic ArchitectureのOracle GoldenGateインストール・ディレクトリおよびMicroservices Architectureの/bin
ディレクトリにあります。checkprm
への入力は大/小文字を区別しません。値文字列にスペースが含まれている場合、checkprm
は意味のある値を認識できるので、引用符で囲む必要はありません。checkprm
にモードが指定されていない場合は、コンポーネントのあらゆるモードに適用可能なすべてのパラメータが使用されます。
checkprm
の出力は、想定される次の4つのセクションにまとめられます。
-
ヘルプ・メッセージ
-
事前検証エラー
-
検証結果
-
パラメータの詳細
一般に事前検証エラーとは、通常のパラメータ検証が実行できなくなるエラー(オプションの欠落やアクセス不可能なパラメータ・ファイルなど)のことです。オプションの値が間違って指定されている場合、そのオプションに対して考えられる入力のリストが表示されます。結果がFAIL
の場合、各エラーが最終結果メッセージに表示されます。結果がPASS
の場合、一部のパラメータに対してさらに実行時検証が行われることを示すメッセージが表示されます。パラメータの詳細出力には、検証コンテキスト、GLOBALS (存在する場合)から読み取られた値、および指定されたパラメータが含まれます。パラメータとオプションは、これらの関係がわかるよう、適切にインデントして出力されます。
表9-1に、checkprm
コマンドで使用可能なすべての引数を示します。checkprm
を使用する場合に、これらの引数をまったく使用しないと、checkprm
は自動的にExtractまたはReplicatおよびOracle GoldenGateインストールのプラットフォームとデータベースの検出を試みます。
表9-1 checkprmの引数
引数 | 目的と動作 |
---|---|
|
使用方法情報を表示します |
|
バナーを表示します。他のオプションと組み合せることはできません。 |
|
詳細な使用方法情報(各オプションの使用可能なすべての値など)を表示します。他のオプションと組み合せることはできません。 |
|
パラメータ・ファイルの名前を指定します。検証が必要な場合は第1引数にする必要があります。パラメータ・ファイルへの絶対パスを指定する必要があります。たとえば、 |
|
このパラメータ・ファイルを検証する対象の実行中のコンポーネント(アプリケーション)を指定します。このオプションは、ExtractまたはReplicatでは省略可能です(自動検出が試行されるため)。有効な値は次のとおりです。
このオプションにデフォルトはありません。 |
|
実行中のアプリケーションのモードを指定します(該当する場合)。このオプションは省略可能で、ExtractまたはReplicatにのみ適用できます。モードが指定されていない場合、検証はすべてのExtractまたはReplicatモードで実行されます。 このオプションの有効な入力は次のとおりです。
このオプションの値を入力する際、アプリケーション名はコンポーネントの値と一致する場合にかぎり省略可能です。たとえば、コンポーネントがExtractの場合、 |
|
アプリケーションを実行するプラットフォームを指定します。デフォルト値は、この 指定できる値は次のとおりです。
|
|
アプリケーションを構築する対象のデータベースを指定します。デフォルト値は、Oracle GoldenGateインストール用のデータベースです。 データベース・オプションは次のとおりです(大/小文字の区別なし)。
|
|
詳細なパラメータ情報を出力し、値がどのように読み取られ解釈されるかを示すよう、 検証で指定される最後のオプションです。 |
次に、いくつかの使用例を示します。
checkprm ? checkprm ./dirprm/ext1.prm -C extract -m data pump -p Linux -v checkprm ./dirprm/ext1.prm -m integrated checkprm ./dirprm/rep1.prm -m integrated checkprm ./dirprm/mgr.prm -C mgr -v checkprm GLOBALS -c GLOBALS
CHECKPARAMS
パラメータを使用した検証
推奨のcheckprm
ユーティリティを使用する方法の代用には、CHECKPARAMS
パラメータを使用して、ExtractまたはReplicatパラメータ・ファイル内のパラメータの構文が正確かどうかをチェックする方法があります。このプロセスは、ExtractまたはReplicatで使用できます。
パラメータの構文を検証する手順
レポート・ファイルの詳細は、Oracle GoldenGate処理の監視を参照してください。
CHECKPARAMS
の詳細は、Oracle GoldenGateリファレンスを参照してください。
9.6 パラメータ・ファイルの表示
パラメータ・ファイルは、オペレーティング・システムのコマンド・シェルから直接表示することも、VIEW PARAMS
コマンドを使用してGGSCIまたは管理クライアントのコマンドライン・インタフェースから表示することもできます。
VIEW PARAMS group_name
説明:
group_name
は、mgr
(Managerの場合)か、パラメータ・ファイルに関連付けられたExtractグループまたはReplicatグループの名前です。
注意:
文字セットがローカル・オペレーティング・システムのものとは異なる既存のパラメータ・ファイル(CHARSET
オプションを使用して別の文字セットを指定したファイルなど)は、VIEW PARAMS
を使用して表示しないでください。内容が破損する可能性があります。コマンドライン・インタフェースの外からパラメータ・ファイルを表示します。
パラメータ・ファイルがOracle GoldenGateディレクトリのdirprm
サブディレクトリ以外の場所に作成されている場合、次の例のようにフルパス名を指定します。
VIEW PARAMS c:\lpparms\replp.prm
9.7 パラメータ・ファイルの変更
Oracle GoldenGateプロセスは、パラメータ・ファイルの変更前に停止して、パラメータ・ファイルの保存後に再起動する必要があります。プロセスの実行中にパラメータ設定を変更すると、特に表を追加する場合やマッピング・ルールまたはフィルタリング・ルールを変更する場合に予期しない結果が発生する可能性があります。
注意:
ローカル・オペレーティング・システムのものとは異なる文字セットを使用した既存のパラメータ・ファイル(CHARSET
オプションを使用して別の文字セットを指定したファイルなど)は、EDIT PARAMS
コマンドを使用して表示や編集を行わないでください。内容が破損する可能性があります。管理クライアントまたはGGSCIの外部からパラメータ・ファイルを表示してください。
パラメータを変更する手順
-
管理クライアントまたはGGSCIで次のコマンドを発行して、プロセスを停止します。WindowsクラスタでManagerを停止する場合は、クラスタ・アドミニストレータを使用します。
STOP {EXTRACT | REPLICAT | MANAGER}
group_name
-
テキスト・エディタまたは管理クライアントかGGSCIの
EDIT PARAMS
コマンドを使用してパラメータ・ファイルを開きます。EDIT PARAMS mgr
-
ファイルを編集して保存します。
-
管理クライアントかGGSCIで次のコマンドを発行して、プロセスを起動します。WindowsクラスタでManagerを起動する場合は、クラスタ・アドミニストレータを使用します。
START {EXTRACT | REPLICAT | MANAGER}
group_name
ExtractプロセスまたはReplicatプロセスが再起動されると、終了した場所がすぐに取得されます。Oracle GoldenGateプロセスをバウンスしてパラメータ・ファイルを置換する前に、データベース・アクティビティを静止する必要はありません。
9.8 パラメータ・ファイルの作成の簡略化
次の時間節約ツールを使用することで、パラメータを指定する回数を減らすことができます。
内容は次のとおりです。
9.8.1 ワイルドカードの使用
オブジェクト名を使用するパラメータの場合、アスタリスク(*)および疑問符(?)のワイルドカードを使用できます。ワイルドカードを使用することで、多数のオブジェクト名または特定のスキーマ内のすべてのオブジェクトを指定する必要がなくなります。ワイルドカードの使用方法の詳細は、「データベース・オブジェクト名でのワイルドカードの使用」を参照してください。
親トピック: パラメータ・ファイルの作成の簡略化
9.8.2 OBEYの使用
よく使用するパラメータ設定が含まれるテキスト・ファイルのライブラリを作成し、その後、OBEY
パラメータを使用して、アクティブなパラメータ・ファイルからそれらのファイルを呼び出すことができます。OBEY
の構文は次のとおりです。
OBEY file_name
説明:
file_name
は、ファイルの相対名またはフルパス名です。
Oracle GoldenGateは、アクティブなパラメータ・ファイル内でOBEY
パラメータを検出すると、その参照先ファイルのパラメータを処理してから、アクティブなファイルに戻って残りのパラメータを処理します。GLOBALS
パラメータ・ファイルではOBEY
はサポートされていません。
OBEY
パラメータを含むパラメータ・ファイルでCHARSET
パラメータを使用する場合、参照先のパラメータ・ファイルはCHARSET
の文字セットを継承しません。CHARSET
の文字セットは参照先ファイル内のワイルドカードを使用したオブジェクト名の読取りに使用しますが、参照先ファイルにおけるその他すべてのマルチバイト指定については、エスケープ・シーケンス(\uX
)を使用する必要があります。
OBEY
の詳細は、『Oracle GoldenGateリファレンス』を参照してください。
CHARSET
の詳細は、『Oracle GoldenGateリファレンス』を参照してください。
親トピック: パラメータ・ファイルの作成の簡略化
9.8.3 マクロの使用
マクロを使用して、パラメータ文を自動的に複数回使用できます。「Oracle GoldenGateマクロを使用した作業の簡略化および自動化」を参照してください
親トピック: パラメータ・ファイルの作成の簡略化
9.8.4 パラメータ置換の使用
パラメータ置換を使用すると、パラメータ・ファイルの作成時に静的な値を割り当てるかわりに、実行時に自動的にOracle GoldenGateのパラメータに値を割り当てることができます。この方法であれば、実行ごとに値が変化する場合に、パラメータ・ファイルを編集したり、異なる設定を含む複数のファイルを管理する必要がなくなります。必要な値は、実行時に簡単にエクスポートできます。パラメータ置換は、任意のOracle GoldenGateプロセスで使用できます。
パラメータ置換を使用する手順
例9-4 Windowsでのパラメータ置換
C:\GGS> set EXTFILE=C:\ggs\extfile C:\GGS> set TABNAME=PROD.ACCOUNTS C:\GGS> replicat paramfile c:\ggs\dirprm\parmfl
例9-5 UNIX (Kornシェル)でのパラメータ置換
$ EXTFILE=/ggs/extfile $ export EXTFILE $ TABNAME=PROD.ACCOUNTS $ export TABNAME $ replicat paramfile ggs/dirprm/parmfl
UNIXでは、大/小文字が区別されるため、大/小文字の使用については、パラメータ・ファイルのパラメータ宣言とシェルの変数割当てで同じである必要があります。
親トピック: パラメータ・ファイルの作成の簡略化
9.9 Oracle GoldenGateのパラメータに関する情報の取得
INFO PARAM
コマンドを使用して、GGSCIからパラメータの定義情報を表示できます。コマンドラインで指定する名前はパラメータまたはオプションですが、それはピリオド(.)を区切り記号として使用して連結された複数の名前からなる完全名であることが必要です。たとえば:
INFO PARAM RMTHOST RMTHOST.STREAMING INFO PARAM RMTHOST.STREAMING
GETPARAMINFO
を使用して、Extract、Replicat、Manageなどの実行中のインスタンスのランタイム・パラメータ値を問い合せることができます。このコマンドは、checkprm -v
を使用する方法と似ています(パラメータ・ファイルの検証を参照)。デフォルト動作では、アプリケーションによって問合せされたことがあるすべてのパラメータおよびそれぞれの現在値が表示されます。特定のパラメータ名が指定されている場合、そのパラメータ名で出力がフィルタ処理されます。必要に応じて、-FILE
オプションで指定されたファイルに出力をリダイレクトできます。たとえば:
SEND ext1pmp GETPARAMINFO
これらのパラメータとOracle GoldenGateパラメータすべての詳細(正確な構文を含む)は、『Oracle GoldenGateリファレンス』を参照してください。