この章の内容は次のとおりです。
GGSCIは、Oracle GoldenGateのコマンドライン・インタフェースです。GGSCIを使用して、Oracle GoldenGateを構成、制御および監視する全種類のコマンドを発行できます。
GGSCIを起動するには、ディレクトリをOracle GoldenGateインストール・ディレクトリに変更してから、ggsci
実行可能ファイルを実行します。
Oracle GoldenGateコマンドの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
一部のOracle GoldenGateコマンドでワイルドカードを使用して、複数のExtractグループおよびReplicatグループを1つの単位として制御できます。Oracle GoldenGateでサポートされるワイルドカード記号は、アスタリスク(*)です。アスタリスクは、任意の数の文字を表します。たとえば、名前に文字Xを含むすべてのExtractグループを起動するには、次のコマンドを発行します。
START EXTRACT *X*
コマンド入力と関連のコンソール出力はすべて、ローカル・オペレーティング・システムのデフォルト・キャラクタ・セットで表示されます。ローカル・オペレーティング・システムのキャラクタ・セットと互換性のない文字を指定するには、Unicode表記法を使用します。たとえば、次のUnicode表記は、名前にユーロ記号が含まれている表名に相当します。
ADD TRANDATA \u20AC1
Unicode表記の使用方法の詳細は、「エスケープ・シーケンスのサポート」を参照してください。
注意:
Oracle GoldenGateのグループ名は大/小文字が区別されません。
次のツールを使用すると、複数のコマンドを簡単に実行できます。
以前実行したコマンドのリストを表示するには、HISTORY
コマンドを使用します。
以前のコマンドを編集せずに再実行するには、!
コマンドを使用します。
以前のコマンドを編集してから再実行するには、FC
コマンドを使用します。
よく使用する一連のコマンドは、OBEY
ファイルおよびOBEY
コマンドを使用して自動化できます。OBEY
ファイルでは、ローカル・オペレーティング・システムのキャラクタ・セットが認識されます。そのキャラクタ・セットと互換性のない文字を指定するには、Unicode表記法を使用します。Unicode表記の使用方法の詳細は、「エスケープ・シーケンスのサポート」を参照してください。
OBEYを使用する手順
例4-1 OBEYコマンド・ファイル
ADD EXTRACT myext, TRANLOG, BEGIN now START EXTRACT myext ADD REPLICAT myrep, EXTTRAIL /ggs/dirdat/aa START REPLICAT myrep INFO EXTRACT myext, DETAIL INFO REPLICAT myrep, DETAIL
次の例は、OBEY
コマンドと組み合せて使用するOBEY
コマンド・ファイルを示しています。これによって、ExtractグループおよびReplicatグループが作成されて起動され、処理情報が取得されます。
OBEYコマンドの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
Oracle GoldenGateプロセスを制御する標準の方法は、GGSCIインタフェースを介する方法です。通常、Oracle GoldenGateプロセスが本番設定で初めて起動されるのは、初期同期プロセス(インスタンス化プロセスとも呼ばれる)時です。ただし、メンテナンス、アップグレード、トラブルシューティングなどの各種タスクを実行する場合は、必要に応じてプロセスを停止したり再起動する必要があります。
ここでは基本的な構文について説明しています。その他の使用可能な構文については、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
レプリケーション処理を停止する場合を除き、Managerを停止しないでください。
Managerを停止する手順
注意:
ユーザー・アカウント制御を有効にした状態でコマンドラインまたはGGSCIからManagerを起動すると、プログラム実行の許可または拒否を求めるUACプロンプトが表示されます。
この項では、ExtractプロセスとReplicatプロセスを制御する基本的な方法について説明します。その他のコマンド・オプションは、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
ExtractまたはReplicatを起動する手順
START {EXTRACT | REPLICAT}
group_name
説明:
group_name
は、ExtractまたはReplicatグループの名前か、またはグループのワイルドカード・セット(*
やfin*
など)です。
ExtractまたはReplicatを正常に停止する手順
STOP {EXTRACT | REPLICAT}
group_name
説明:
group_name
は、ExtractまたはReplicatグループの名前か、またはグループのワイルドカード・セット(*
やfin*
など)です。
Replicatを強制的に停止する手順
STOP REPLICAT
group_name
!
現在のトランザクションは中断され、プロセスは即座に停止されます。Extractを強制的に停止することはできません。
STOPで停止できないプロセスを強制終了する手順
KILL {EXTRACT | REPLICAT}
group_name
プロセスを強制終了すると正常な停止は行われず、チェックポイント情報が失われる可能性があります。
複数のプロセスを同時に制御する手順
command
ER
wildcard specification
説明:
command
は、KILL
、START
またはSTOP
です。
wildcard specification
は、コマンドを適用するプロセス・グループの名前のワイルドカード指定です。コマンドは、ワイルドカードに適合するすべてのExtractおよびReplicatグループに適用されます。Oracle GoldenGateでは、最大100,000個のワイルドカード・エントリがサポートされます。
この項では、ExtractプロセスとReplicatプロセスを削除する基本的な方法について説明します。その他のコマンド・オプションは、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
Extractグループを削除する手順
GGSCIを実行します。
Extractデータベース・ユーザー(または同じ権限を持つユーザー)としてDBLOGIN
コマンドを発行します。ローカル資格証明ストアの有無に応じて、次のいずれかのコマンドを使用できます。
DBLOGIN [SOURCEDBdsn
] {USERIDuser
, PASSWORDpassword
[encryption_options
] | USERIDALIASalias
[DOMAINdomain
]}
Extractプロセスを停止します。
STOP EXTRACT
group_name
次のコマンドを発行します。
DELETE EXTRACT
group_name
(Oracle)Extractグループをデータベースから登録解除します。
UNREGISTER EXTRACT group_name,database_name
Replicatグループを削除する手順
Replicatグループを削除しても、チェックポイント表のチェックポイントは保持されます(使用されている場合)。プロセス・グループを削除しても、パラメータ・ファイルは失われません。同じパラメータ・ファイルを使用して同じグループを再作成できます。また、パラメータ・ファイルを削除して、グループの構成を完全に削除することもできます。
Oracle GoldenGateは、スクリプトまたはジョブを介したコマンドの発行をサポートしています。この項では、UNIXベースまたはLinuxベースのプラットフォームおよびIBMiプラットフォームでのこれらのオプションについて説明します。
UNIXシステムまたはLinuxシステム、あるいはUNIXまたはLinuxアプリケーションをサポートするランタイム環境では、GGSCIを実行して入力ファイルを呼び出すことで、起動スクリプト、停止スクリプト、フェイルオーバー・スクリプトなどのスクリプトからOracle GoldenGateコマンドを発行できます。スクリプト・ファイルは、オペレーティング・システムのキャラクタ・セットでエンコードされている必要があります。オペレーティング・システムのキャラクタ・セットがサポートしていない文字には、Unicode表記法を使用できます。スクリプトを作成する前に、「コマンド・インタフェースのグローバリゼーション・サポート」を参照してください。
スクリプトを入力する手順
オペレーティング・システムのコマンドラインから次の構文を使用します。
ggsci < input_file
説明:
山カッコ(<)文字によりファイルがGGSCIプログラムに渡されます。
input_file
は、発行するコマンドが発行順に含まれた、OBEY
ファイルと呼ばれるテキスト・ファイルです。
Oracle GoldenGateコマンドの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
注意:
バッチ・ファイルからManagerプロセスを停止するには、必ずSTOP MANAGER
コマンドの最後に!
引数を追加してください。そうしないと、GGSCIによってレスポンスを要求するプロンプトが発行され、プロセスがループに陥ります。Managerを停止する方法の詳細は、「Managerの停止」を参照してください。
Oracle GoldenGate for IBM DB2 for iには、ごく一般的なOracle GoldenGateプログラムの操作をIBM iコマンドライン・インタフェース(CLI)から操作できるようにする一連のネイティブIBM iコマンドが組み込まれています。これらのコマンドはネイティブであるため、PASE環境から実行する必要はありません。このサポートにより、コマンドを対話型で発行することも、一般的なジョブ発行ツール(SBMJOBなど)を使用してOracle GoldenGateを非対話型で操作することもできます。
コマンドは次のとおりで、同名のOracle GoldenGateプログラムに対応しています。これらはOracle GoldenGateインストール・ライブラリ内にあります。
DEFGEN
EXTRACT
GGSCI
KEYGEN
LOGDUMP
MGR
REPLICAT
これらのコマンドの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
ほとんどのOracle GoldenGate機能は、パラメータ・ファイルに指定されたパラメータによって制御されます。パラメータ・ファイルは、関連するOracle GoldenGateプロセスによって読み取られるプレーン・テキスト・ファイルです。Oracle GoldenGateでは、GLOBALS
ファイルとランタイム・パラメータ・ファイルという2種類のパラメータ・ファイルが使用されます。
Oracle GoldenGateでは、ローカル・オペレーティング・システムのデフォルト・キャラクタ・セットでパラメータ・ファイルが作成されます。ローカル・プラットフォームで、必要なキャラクタ・セットがオペレーティング・システムのデフォルトとしてサポートされていない場合は、CHARSET
パラメータをグローバルに、またはプロセス単位で使用して、パラメータ・ファイルのキャラクタ・セットを指定できます。
キャラクタ・セットの非互換性による問題を回避するため、パラメータ・ファイルは、関連プロセスが実行されるサーバーで作成または編集します。あるシステム(Windowsラップトップなど)で作成したファイルを、Oracle GoldenGateがインストールされている、オペレーティング・システムのキャラクタ・セットが異なるUNIXサーバーに転送するのは避けてください。Oracle GoldenGateには、パラメータ・ファイルを別のシステムで作成する必要がある場合に、キャラクタ・セットの非互換性の問題を解決するためのツールがいくつか用意されています。
CHARSET
パラメータを使用すると、互換性のあるキャラクタ・セットをパラメータ・ファイルに指定できます。このパラメータは、指定したキャラクタ・セットでファイルを記述できるようにするもので、パラメータ・ファイルの1行目に置く必要があります。ファイルを別のシステムに転送したら、そのシステムでは編集しないでください。
ファイルが使用されるオペレーティング・システムのキャラクタ・セットと互換性のない文字には、Unicode表記法を代用できます。Unicode表記の使用方法の詳細は、「エスケープ・シーケンスのサポート」を参照してください。
CHARSETパラメータの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
GLOBALS
ファイルには、Oracle GoldenGateインスタンス全体に関連するパラメータが格納されます。これは、Extractなどの特定のプロセスと関連付けられているランタイム・パラメータとは対照的です。GLOBALS
ファイルのパラメータは、Oracle GoldenGateインスタンスのすべてのプロセスに適用されますが、特定のプロセスのパラメータによって上書きされることがあります。GLOBALS
パラメータ・ファイルは、Oracle GoldenGate環境に必要な場合と必要でない場合があります。
GLOBALS
を使用する場合、GGSCIなどのOracle GoldenGateプロセスを起動する前にこのファイルが存在している必要があります。GGSCIプログラムは、GLOBALS
ファイルを読み取って、各パラメータを適切なプロセスに渡します。
GLOBALSファイルの作成手順
ランタイム・パラメータによって、次のようなOracle GoldenGateの同期の様々な機能を制御します。
データの選択、マッピング、変換およびレプリケーション
DDLおよび順序の選択、マッピングおよびレプリケーション(サポートされる場合)
エラーの解決
ロギング
ステータスおよびエラーのレポート
システム・リソースの使用方法
起動時および実行時の動作
Managerプロセスまたは1つのExtract(あるいはReplicat)グループに対するアクティブなパラメータ・ファイルは1つのみです。ただし、OBEY
パラメータを使用することで、他のファイルのパラメータを使用できます。パラメータ・ファイルの使用を簡略化する方法の詳細は、「パラメータ・ファイルの作成の簡略化」を参照してください。
パラメータには、次のようにグローバル・パラメータ(GLOBALS
パラメータとは異なります)とオブジェクト固有パラメータの2種類があります。
グローバル・パラメータは、パラメータ・ファイルに指定されているすべてのデータベース・オブジェクトに適用されます。たとえば、プロセスの動作に影響するパラメータや、メモリー使用率などの機能に影響するパラメータがあります。例4-2および例4-3のUSERIDALIAS
は、グローバル・パラメータの例です。ほとんどの場合、グローバル・パラメータは、ファイル内でデータベース・オブジェクトを指定するパラメータ(たとえば、例4-2および例4-3のTABLE
文やMAP
文)より前の任意の場所に指定できます。グローバル・パラメータは、ファイル内で1回のみリストされる必要があります。複数回リストされると、最後のインスタンスのみがアクティブになり、他のすべてのインスタンスは無視されます。
オブジェクト固有パラメータでは、データベース・オブジェクトの異なるセットに対して異なる処理ルールを適用できます。例4-3のGETINSERTS
およびIGNOREINSERTS
は、オブジェクト固有パラメータの例です。どちらのパラメータも、影響を受けるオブジェクトを指定するMAP
文の前にあります。オブジェクト固有パラメータは、ファイルにリストされている順序で有効になります。
例4-2と例4-3に、ExtractおよびReplicatの基本パラメータ・ファイルの例を示します。コメントの先頭にはハイフンが2つ付いています。
前述の例は、大/小文字が区別されないOracleデータベースを反映したもので、オブジェクト名がTABLE
文に大文字で指定されています。大/小文字が区別されないOracleデータベースの場合、パラメータ・ファイルに名前をどのように入力しても(大文字でも、小文字でも、大文字と小文字が混在していても)違いは生じません。他のデータベースの場合は、オブジェクト名の大/小文字が問題になることがあります。オブジェクト名の指定の詳細は、「Oracle GoldenGateの入力におけるオブジェクト名の指定」を参照してください。
例4-3に示したReplicatのサンプルでの一重引用符と二重引用符の使用方法に注意してください。オブジェクト名の大/小文字を区別するには引用符が必要になるデータベース(Oracleなど)の場合、大/小文字が区別されるオブジェクト名はパラメータ・ファイルでも二重引用符で囲む必要があります。大/小文字が区別されるその他のデータベースでは、データベースに保存されているとおりに名前を指定します。名前およびリテラルの指定方法の詳細は、「Oracle GoldenGateの入力におけるオブジェクト名の指定」を参照してください。
例4-2 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 -- TABLE statements that identify data to capture. TABLE FIN.*; TABLE SALES.*;
例4-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');
パラメータ・ファイルをオペレーティング・システムのキャラクタ・セットで記述する場合はGGSCIの使用をお薦めしますが、CHARSET
パラメータを使用して別のキャラクタ・セットでファイルを記述する場合は、GGSCIのかわりにテキスト・エディタを使用してください。CHARSETパラメータの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
パラメータ・ファイルを作成するには、GGSCIユーザー・インタフェース内でEDIT PARAMS
コマンドを使用するか、テキスト・エディタを直接使用します。GGSCIを使用する場合、標準のテキスト・エディタを使用しますが、パラメータ・ファイルは正しいファイル名で適切なディレクトリに自動的に保存されます。
GGSCIの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
コマンドを使用します。Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
テキスト・エディタを使用して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
コマンドを使用できます。
checkprm
検証用ネイティブ・コマンドはコマンドラインから実行され、構成可能なアプリケーションと実行環境を使用して、指定されたパラメータ・ファイルの評価を提供します。単純にPASS
/FAIL
を表示するか、各パラメータの値がどのように格納され解釈されるかに関するオプション詳細を付けて表示することもできます。
checkprm
への入力は大/小文字を区別しません。値文字列にスペースが含まれている場合、checkprm
は意味のある値を認識できるので、引用符で囲む必要はありません。checkprm
にモードが指定されていない場合は、コンポーネントのあらゆるモードに適用可能なすべてのパラメータが使用されます。
checkprm
の出力は、想定される次の4つのセクションにまとめられます。
ヘルプ・メッセージ
事前検証エラー
検証結果
パラメータの詳細
一般に事前検証エラーとは、通常のパラメータ検証が実行できなくなるエラー(オプションの欠落やアクセス不可能なパラメータ・ファイルなど)のことです。オプションの値が間違って指定されている場合、そのオプションに対して考えられる入力のリストが表示されます。結果がFAIL
の場合、各エラーが最終結果メッセージに表示されます。結果がPASS
の場合、一部のパラメータに対してさらに実行時検証が行われることを示すメッセージが表示されます。パラメータの詳細出力には、検証コンテキスト、GLOBALS (存在する場合)から読み取られた値、および指定されたパラメータが含まれます。パラメータとオプションは、これらの関係がわかるよう、適切にインデントして出力されます。
表4-1に、checkprm
コマンドで使用可能なすべての引数を示します。checkprm
を使用して、これらの引数のいずれも使用しない場合、checkprm
は自動的にExtractまたはReplicatおよびOracle GoldenGateインストールのプラットフォームとデータベースを検出しようとします。
表4-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リファレンスfor Windows and UNIXを参照してください
パラメータ・ファイルは、オペレーティング・システムのコマンド・シェルから直接表示するか、GGSCIユーザー・インタフェースから表示することができます。GGSCIからファイルを表示するには、VIEW PARAMS
コマンドを使用します。
VIEW PARAMS group_name
説明:
group_name
は、mgr
(Managerの場合)か、パラメータ・ファイルに関連付けられたExtractグループまたはReplicatグループの名前です。
注意:
キャラクタ・セットがローカル・オペレーティング・システムのものとは異なる既存のパラメータ・ファイル(CHARSET
オプションを使用して別のキャラクタ・セットを指定したファイルなど)は、VIEW PARAMS
を使用して表示しないでください。内容が破損する可能性があります。GGSCI外部からパラメータ・ファイルを表示してください。
パラメータ・ファイルがOracle GoldenGateディレクトリのdirprm
サブディレクトリ以外の場所に作成されている場合、次の例のようにフルパス名を指定します。
VIEW PARAMS c:\lpparms\replp.prm
Oracle GoldenGateプロセスは、パラメータ・ファイルの変更前に停止して、パラメータ・ファイルの保存後に再起動する必要があります。プロセスの実行中にパラメータ設定を変更すると、特に表を追加する場合やマッピング・ルールまたはフィルタリング・ルールを変更する場合に予期しない結果が発生する可能性があります。
注意:
ローカル・オペレーティング・システムのものとは異なるキャラクタ・セットを使用した既存のパラメータ・ファイル(CHARSET
オプションを使用して別のキャラクタ・セットを指定したファイルなど)は、EDIT PARAMS
コマンドを使用して表示や編集を行わないでください。内容が破損する可能性があります。GGSCI外部からパラメータ・ファイルを表示してください。
パラメータを変更する手順
次の時間節約ツールを使用することで、パラメータを指定する回数を減らすことができます。
オブジェクト名を使用するパラメータの場合、アスタリスク(*)および疑問符(?)のワイルドカードを使用できます。ワイルドカードを使用することで、多数のオブジェクト名または特定のスキーマ内のすべてのオブジェクトを指定する必要がなくなります。ワイルドカードの使用方法の詳細は、「データベース・オブジェクト名でのワイルドカードの使用」を参照してください。
よく使用するパラメータ設定が含まれるテキスト・ファイルのライブラリを作成し、その後、OBEY
パラメータを使用して、アクティブなパラメータ・ファイルからそれらのファイルを呼び出すことができます。OBEY
の構文は次のとおりです。
OBEY file_name
説明:
file_name
は、ファイルの相対名またはフルパス名です。
Oracle GoldenGateは、アクティブなパラメータ・ファイル内でOBEY
パラメータを検出すると、その参照先ファイルのパラメータを処理してから、アクティブなファイルに戻って残りのパラメータを処理します。GLOBALS
パラメータ・ファイルではOBEY
はサポートされていません。
OBEY
パラメータを含むパラメータ・ファイルでCHARSET
パラメータを使用する場合、参照先のパラメータ・ファイルはCHARSET
のキャラクタ・セットを継承しません。CHARSET
のキャラクタ・セットは参照先ファイル内のワイルドカードを使用したオブジェクト名の読取りに使用しますが、参照先ファイルにおけるその他すべてのマルチバイト指定については、エスケープ・シーケンス(\uX
)を使用する必要があります。
OBEYの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
CHARSETの詳細は、Oracle GoldenGateリファレンスfor Windows and UNIXを参照してください。
パラメータ置換を使用すると、パラメータ・ファイルの作成時に静的な値を割り当てるかわりに、実行時に自動的にOracle GoldenGateのパラメータに値を割り当てることができます。この方法であれば、実行ごとに値が変化する場合に、パラメータ・ファイルを編集したり、異なる設定を含む複数のファイルを管理する必要がなくなります。必要な値は、実行時に簡単にエクスポートできます。パラメータ置換は、任意のOracle GoldenGateプロセスで使用できます。
パラメータ置換を使用する手順
例4-4 Windowsでのパラメータ置換
C:\GGS> set EXTFILE=C:\ggs\extfile C:\GGS> set TABNAME=PROD.ACCOUNTS C:\GGS> replicat paramfile c:\ggs\dirprm\parmfl
例4-5 UNIX(Kornシェル)でのパラメータ置換
$ EXTFILE=/ggs/extfile $ export EXTFILE $ TABNAME=PROD.ACCOUNTS $ export TABNAME $ replicat paramfile ggs/dirprm/parmfl
UNIXでは、大/小文字が区別されるため、大/小文字の使用については、パラメータ・ファイルのパラメータ宣言とシェルの変数割当てで同じである必要があります。
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リファレンスfor Windows and UNIX』を参照してください。
パラメータ・ファイル(TABLE
文、MAP
文など)、列変換関数、コマンド、その他の入力でオブジェクト名を指定する際には、次のルールが適用されます。
Windowsシステムでは、ファイルシステム・パス名のディレクトリの名前が数字で始まる場合、Oracle GoldenGate入力(パラメータ・ファイルやコマンドなど)にそのパスをリストするときに、パスをバックスラッシュでなくスラッシュで指定する必要があります。これにより、Oracle GoldenGateでその名前が8進エスケープ・シーケンスとして解釈されることを回避します。たとえば、次のパスには、8進シーケンス\201
として解釈される\2014
という名前のディレクトリが含まれています。
C:\ogg\2014\install\dirdat\aa C:\ogg\install\2014\dirdat\aa
前出のパスは、次のようにスラッシュとともに使用できます。
C:/ogg/2014/install/dirdat/aa C:/ogg/install/2014/dirdat/aa
詳細は、「エスケープ・シーケンスのサポート」を参照してください
パラメータ・ファイル、コマンドおよびその他の入力のオブジェクト名は、任意の長さで、サポートされる任意のキャラクタ・セットを使用して指定できます。サポートされるキャラクタ・セットについては、サポートされるキャラクタ・セットを参照してください。
Oracle GoldenGateは、オブジェクト名および列名でほとんどの文字をサポートしています。空白や記号などの特殊文字が含まれているオブジェクト名は、二重引用符で囲んで指定します。
次に示すサポートされる文字とサポートされない文字のリストは、Oracle GoldenGateでサポートされているすべてのデータベースを対象としていますが、リストのすべての文字がサポートされるかどうかはデータベース・プラットフォームによって異なります。
Oracle GoldenGateは、次の特殊文字も含めて、データベースでサポートされるすべての文字をサポートしています。パラメータ・ファイルでは、これらの特殊文字を含むオブジェクト名を二重引用符で囲む必要があります。
文字 | 説明 |
---|---|
/ |
スラッシュ(「スラッシュを含む名前の指定」を参照) |
* |
アスタリスク(パラメータ・ファイルで使用する場合は、 |
? |
疑問符(パラメータ・ファイルで使用する場合は、 |
@ |
アットマーク(サポートされますが、データベースでリソース・ロケータとして使用されることが多い文字です。オブジェクト名では問題を生じることがあります。) |
# |
番号記号 |
$ |
ドル記号 |
% |
パーセント記号(パラメータ・ファイルで使用する場合は、 |
^ |
カレット記号 |
( ) |
開き丸カッコと閉じ丸カッコ |
_ |
アンダースコア |
- |
ダッシュ |
空白 |
表名のいずれかの部分にスラッシュ文字(/)が含まれている場合、その名前コンポーネントを二重引用符で囲む必要があります。オブジェクト名がIBM iプラットフォームからのものの場合、このかぎりではありません。次に例を示します。
"c/d" "/a".b a."b/"
二重引用符で囲まれていないスラッシュが名前に含まれる場合、その名前はIBM iプラットフォーム(DB2 for iデータベース)からのものとしてOracle GoldenGateで処理されます。名前に含まれるスラッシュは、区切り文字として解釈されます。
オブジェクト名はパラメータ・ファイルで完全修飾されている必要があります。つまり、Oracle GoldenGateのパラメータ構文への入力で指定する名前だけでなく、すべての名前(SQLEXEC
入力として指定するSQLプロシージャまたは問合せ内の名前や、ユーザー・イグジット入力の名前の他、パラメータ・ファイルに入力するその他すべての名前)の指定が修飾されている必要があります。
Oracle GoldenGateでは、データベースに応じて、2つの部分からなるオブジェクト名と3つの部分からなるオブジェクト名がサポートされています。
ほとんどのデータべースでは、2つの部分からなる名前のみを次の形式で指定する必要があります。
owner.object
例: HR.EMP
説明:
owner
は、スキーマまたはデータベースです(データベース・オブジェクトを格納する論理ネームスペースの定義方法によって異なる)。object
は、表またはその他のサポートされるデータベース・オブジェクトです。
Oracle GoldenGateで2つの部分からなる名前がサポートされるデータベースと、それぞれの適切なネーミング規則を次に示します。
DB2 for i: schema.object
およびlibrary/file(member)
DB2 LUW: schema.object
z/OS上のDB2: schema.object
MySQL: database.object
Oracle (CDB以外のデータベース): schema.object
PostgreSQL: schema.object
SQL/MX: schema.object
。2つの部分からなるSQL名がデフォルトでサポートされています。SQL/MXソース・システムでは、SOURCEDB
パラメータを使用してソース・カタログを指定する必要があり、各Extractプロセスがアクセスできるカタログは1つのみです。ターゲット・システムでは、TARGETDB
パラメータを使用してターゲット・カタログを指定する必要があり、各Replicatプロセスがアクセスできるカタログは1つのみです。これらの文のUSERID
部分でデフォルト・スキーマを指定します。複数のソース・カタログとターゲット・カタログに対応するには、複数のExtractプロセスとReplicatプロセスが必要です。詳細は、NonStop SQL/MXのためのOracle GoldenGateのインストールおよび構成を参照してください。
SQL Server: schema.object
Sybase: schema.object
Teradata: database.object
TimesTen: user.object
Oracle GoldenGateで3つの部分からなる名前がサポートされているデータベースを次に示します。
Oracleコンテナ・データベース(CDB)
Informix Dynamix Server
NonStop SQL/MX
ソースOracleコンテナ・データベースから取得する場合には、3つの部分からなる名前が必要です(1つのExtractグループが複数のコンテナから取得する可能性があるため)。したがって、ExtractのTABLE
文では、各オブジェクトまたは複数のオブジェクトに対して、コンテナ名とスキーマ名を指定する必要があります。
3つの部分からなるOracle CDB名は次のように指定します。
container.schema.object
例: PDB1.HR.EMP
Oracleコンテナ・データベースの詳細は、参照してください。
Oracle GoldenGate 12cより前のバージョンの既存のパラメータ・ファイルを構文変更せずにそのまま使用できるよう、SQL/MXデータベースでは、3つの部分からなる名前のサポートがデフォルトで無効になっています。(「2つの部分からなる名前」を参照) 3つの部分からなる名前のサポートを有効にするには、GLOBALS
ファイルでENABLECATALOGNAMES
パラメータを使用します。3つの部分からなる名前がサポートされている場合、1つのExtractグループで複数のソース・カタログから取得できます。GLOBALS
ファイルの詳細は、「GLOBALSファイルの操作」を参照してください。
3つの部分からなるSQL/MX名は次のように指定します。
catalog.schema.object
例: catalog1.HR.EMP
複数のソース・コンテナまたはカタログから取得したデータをターゲットOracleコンテナ・データベースまたはSQL/MXデータベースに適用するには、3つおよび2つの部分からなる名前の両方が必要です。MAP
文のMAP
部分では、各ソース・オブジェクトがコンテナまたはカタログに関連付けられている必要があります(TABLE
文の場合と同様)。これにより、ユーザー(およびReplicat)は、複数のソース・コンテナまたはカタログから適切なターゲット・オブジェクトにデータを正しくマップできます。一方、MAP
文のTARGET
部分で必要なのは、2つの部分からなる名前のみです。これは、Replicatが同時に接続可能なターゲット・コンテナまたはカタログは1つのみなので、schema.owner
という修飾子で十分だからです。複数のターゲット・コンテナまたはカタログに対応するには、複数のReplicatグループが必要です。ターゲット・コンテナまたはカタログは、TARGETDB
パラメータで指定します。
パラメータ・ファイルでSOURCECATALOG
パラメータを使用すると、それ以降のTABLE
、MAP
(またはOracle SEQUENCE
)の各指定に対して、デフォルトのカタログを指定できます。次の例は、SOURCECATALOG
を使用して、schema2
およびschema3
の各オブジェクトにpdb2
というデフォルトのOracle PDBを指定し、schema4
オブジェクトにpdb3
というデフォルトのPDBを指定する方法を示しています。pdb1
のオブジェクトは3つの部分からなる完全修飾名で指定されているため、デフォルトのカタログを指定する必要はありません。この例のpdb
で始まる名前の部分にカタログ名を代入すれば、SQL/MXの例として使用できます。
TABLE pdb1.schema1.table*; SOURCECATALOG pdb2 TABLE schema2.table*; TABLE schema3.table*; SOURCECATALOG pdb3 TABLE schema4.table*;
Oracle GoldenGateでは大/小文字が区別される名前をサポートしています。大/小文字が区別されるオブジェクトを指定する場合は、次のルールに従います。
大/小文字が区別されるデータベースのオブジェクト名は、それをホスト・データベースに格納するときと同じ大/小文字で指定します。データベースのタイプによっては、大/小文字の区別の有無がデータベースのレベルごとに異なる場合がありますので注意してください(スキーマは大/小文字が区別されるが、表は区別されないなど)。大/小文字を区別するには引用符が必要になるデータベースの場合は、大/小文字を区別する各オブジェクトを修飾名の中で引用符で囲んでください。
正: TABLE "Sales"."ACCOUNT"
誤: TABLE "Sales.ACCOUNT"
Oracle GoldenGateでは、マッピング目的での必要に応じて、大/小文字が区別されない名前を格納時の大/小文字に変換します。
表4-2は、オブジェクト名における大/小文字の区別のサポート状況を、サポートされるデータベースごとに簡単にまとめたものです。この種のサポートの詳細は、データベースのドキュメントを参照してください。
表4-2 データベースごとのオブジェクト名の大/小文字の区別
データベース | 大/小文字を区別するために引用符が必要か | 引用符で囲んでいないオブジェクト名 | 引用符で囲んだオブジェクト名 |
---|---|---|---|
DB2 |
はい。大/小文字を区別するかどうかを引用符の有無で識別します。 |
大/小文字が区別されず、大文字で格納されます。 |
大/小文字が区別され、大文字と小文字の混在で格納されます。 |
MySQL (大/小文字が区別されるデータベース) |
不要
|
影響なし |
影響なし |
Oracle |
はい。大/小文字を区別するかどうかを引用符の有無で識別します。 |
大/小文字が区別されず、大文字で格納されます。 |
大/小文字が区別され、大文字と小文字の混在で格納されます。 |
PostgreSQL |
はい。大/小文字を区別するかどうかを引用符の有無で識別します。 |
大/小文字が区別されず、小文字で格納されます。 |
大/小文字が区別され、大文字と小文字の混在で格納されます。 |
SQL/MX |
はい。大/小文字を区別するかどうかを引用符の有無で識別します。 |
大/小文字が区別されず、大文字で格納されます。 |
大/小文字が区別され、大文字と小文字の混在で格納されます。 |
SQL Server Sybase (データベースは大/小文字を区別するものとして作成) |
不要 常に大/小文字が区別され、大文字と小文字の混在で格納されます。 |
影響なし |
影響なし |
SQL Server Sybase (データベースは大/小文字を区別するものとして作成) |
不要 常に大/小文字が区別されず、大文字と小文字の混在で格納されます。 |
影響なし |
影響なし |
Teradata |
不要 常に大/小文字が区別されず、大文字と小文字の混在で格納されます。 |
影響なし |
影響なし |
TimesTen |
不要 常に大/小文字が区別されず、大文字で格納されます。 |
大/小文字が区別されず、大文字で格納されます。 |
大/小文字が区別されず、大文字で格納されます。 |
注意:
サポートされるすべてのデータベースにおいて、パスワードは、関連オブジェクト名が引用符で囲まれているかどうかに関係なく、常に大/小文字を区別するものとして扱われます。
指定されたデータベースに対してサポートされている場合、完全修飾されたオブジェクト名の任意の部分にワイルドカードを使用できます。これらの名前の部分とは、コンテナ名、データベース名、カタログ名、所有者名(スキーマ名またはデータベース名)、表名または順序名です。オブジェクト名とワイルドカードのサポートの詳細は、そのデータベースに対応するOracle GoldenGateのインストレーションおよび構成のガイドを参照してください。
Oracle GoldenGateのパラメータでは、2種類のワイルドカードを適宜使用して、1つの文に複数のオブジェクトを指定できます。
疑問符(?)は1文字に置き換わります。たとえば、TAB
n
(nは0から9)という名前の表を含むスキーマでは、HQ.TAB?
というワイルドカード指定を行うと、HQ.TAB0
、HQ.TAB1
、HQ.TAB2
からHQ.TAB9
までが返されます(これ以外は返されません)。このワイルドカードは、DB2 LUWデータベースやDEFGENに対してはサポートされていません。このワイルドカードは、TABLE
またはMAP
パラメータでソース・オブジェクトを指定する場合にのみ使用できます。TABLE
またはMAP
のTARGET
句でのターゲット・オブジェクトの指定には使用できません。
アスタリスク(*)は、任意の数の文字(ゼロ・シーケンスを含む)を表します。たとえば、HQ.T*
と指定すると、HQ.TOTAL
、HQ.T123
、HQ.T
などのオブジェクトが返されます。このワイルドカードは、ワイルドカードが使用できるOracle GoldenGateのすべてのコマンドおよびパラメータですべてのデータベース・タイプに対して有効です。
TABLE
文およびMAP
文では、ソース・オブジェクト名の中でのみアスタリスクと疑問符のワイルドカード文字を組み合せることができます。
ソース・オブジェクトには、アスタリスクを単独で、または部分的な名前とともに使用できます。たとえば、次のソース指定はいずれも有効です。
TABLE HQ.*;
TABLE PDB*.HQ.*;
MAP HQ.T_*;
MAP HQ.T_*, TARGET HQ.*;
TABLE
、MAP
、SEQUENCE
の各パラメータでは、ワイルドカードを解決するために、大/小文字の区別の有無とデータベースのロケールが考慮されます。大/小文字を区別する、または区別しないものとして作成されたデータベースの場合、名前と大/小文字がワイルドカードと正確に照合されます。たとえば、データベースで大/小文字が区別される場合、SCHEMA
.TABLE
はSCHEMA
.TABLE
に一致し、Schema
.Table
はSchema
.Table
に一致します。データベースで大/小文字が区別されない場合、照合でも大/小文字は区別されません。
引用符を使用して大/小文字を区別することで、大/小文字が区別されるオブジェクト名と区別されないオブジェクト名を同じデータベース・インスタンス内に持つことができるデータベースの場合、ワイルドカードは異なる働きをします。アスタリスク・ワイルドカードをTABLE
文でソース名として単独で使用した場合、そのアスタリスクは、引用符で囲まれているかどうかに関係なく、任意の文字に一致します。次の文はいずれも同じ結果になります。
TABLE hr.*; TABLE hr."*";
同様に、単独で使用した疑問符ワイルドカードは、引用符で囲まれているかどうかに関係なく、任意の1文字に一致します。次の指定はいずれも同じ結果になります。
TABLE hr.?; TABLE hr."?";
疑問符またはアスタリスクのワイルドカードを他の文字とともに使用する場合は、大/小文字の区別の有無がワイルドカード以外の文字にも適用されますが、ワイルドカードは大/小文字が区別される名前と区別されない名前の両方に一致します。
次のTABLE
文では、小文字のabc
で始まる表名が取得されます。引用符で囲んだ名前の大/小文字は維持され、大/小文字を区別する照合が適用されます。ワイルドカードは、大/小文字が区別される文字にも区別されない文字にも一致するため、"abcA"
および"abca"
を含む表名が取得されます。
TABLE hr."abc*"; TABLE hr."abc?";
次のTABLE
文では、部分的な名前は大/小文字が区別されず(引用符なし)、このデータベースに大文字で格納されるため、大文字のABC
で始まる表名がすべて取得されます。ただし、ワイルドカードは大/小文字が区別される文字と区別されない文字の両方に一致するため、この例ではABCA
と"ABCa"
を含む表名が取得されます。
TABLE hr.abc*; TABLE hr.abc?;
MAP
文のTARGET
句でワイルドカードを使用する場合、ターゲット・オブジェクトがターゲット・データベースに存在する必要があります。(ただし、DDLレプリケーションが使用されていて、新しいスキーマとそのオブジェクトを作成時にレプリケートできる場合を除きます。)
ターゲット・オブジェクトには、アスタリスクのみを使用できます。アスタリスク・ワイルドカードを部分的な名前とともに使用すると、Replicatはワイルドカードを対応するソース・オブジェクトの完全な名前に置き換えます。したがって、次のような指定は誤りです。
TABLEHQ.T
_*, TARGET RPT.T_*; MAPHQ.T
_*, TARGET RPT.T_*;
前述のマッピングでは、ターゲット指定内のワイルドカードがT_TEST
(ソース・オブジェクトの名前)に置き換わるため、ターゲット名全体ではT_T_TEST
n
となり、間違った結果が返されます。次に、間違った結果を示します。
HQ.T_TEST1
がRPT.T_T_TEST1
にマップされます。
HQ.T_TEST2
がRPT.T_T_TEST2
にマップされます。
(HQ.T_TEST
n
形式の他のすべてのマッピングに、同じパターンが当てはまります。)
次の例は、アスタリスク・ワイルドカードの正しい使用方法を示しています。
MAP HQ.T_*, TARGET RPT.*;
前述の例では、次のような正しい結果が得られます。
HQ.T_TEST1
がRPT.T_TEST1
にマップされます。
HQ.T_TEST2
がRPT.T_TEST2
にマップされます。
(HQ.T_TEST
n
形式の他のすべてのマッピングに、同じパターンが当てはまります。)
Oracle GoldenGateには、ソース名をターゲット名にマップできない場合に備えて、フォールバック・マッピングのメカニズムが用意されています。大/小文字が区別されるソース・オブジェクトと完全に一致するものがターゲット上に見つからない場合、Replicatはソース名を、ターゲット上の大文字または小文字(データベースのタイプによる)の同じ名前にマップしようとします。名前のフォールバック・マッピングは、NAMEMATCH
パラメータで制御します。詳細は、『Oracle GoldenGate for Windows and UNIXリファレンス』を参照してください。
Oracle GoldenGate 11.2.1より前のバージョンの証跡ファイルから読み取るようにReplicatが構成されている場合、ターゲットのマッピングは、下位互換性を確保するために次の方法で行われます。
引用符で囲んだオブジェクト名は大/小文字が区別されます。
引用符で囲んでいないオブジェクト名は大/小文字が区別されません。
次の例では、大/小文字が区別される表名"abc"
が、ターゲット"abc"
にマップされます。この処理が発生するのは、11.2.1より前のExtractにより、大/小文字が区別される構成のSQL ServerとSybaseについて証跡が書き込まれた場合のみです。この例では、ターゲット・データベースがOracle、DB2またはSQL/MXで、ターゲット・データベース内に大/小文字が区別されるabc
はないが、表ABC
はあるという場合、名前のフォールバック・マッピングが実行されます。(「名前のフォールバック・マッピング」を参照。)
MAP hq."abc", TARGET hq.*;
次の例では、大/小文字が区別されない表名abc
が、ターゲットの表名ABC
にマップされます。旧リリースのOracle GoldenGateでは、大/小文字が区別されないオブジェクト名は大文字で証跡に格納されていたため、ターゲットの表名は常に大文字でした。大/小文字が区別されない名前変換の場合、比較はロケールを考慮せずに、大文字(AからZの文字のみ)でUS-ASCIIで行われます。
MAP hq.abc, TARGET hq.*;
オブジェクトの名前自体にアスタリスクまたは疑問符が含まれている場合、次の例に示すように、名前全体をエスケープして二重引用符で囲む必要があります。
TABLE HT."\?ABC";
オブジェクト名がワイルドカードで指定されている場合、デフォルトでは、ソース・オブジェクトの1行目の処理と同時に、そのオブジェクトの解決が行われます。(これに対し、オブジェクト名が明示的に指定されている場合は、プロセスの起動時に解決が行われます。)ワイルドカード解決のルールを変更するには、WILDCARDRESOLVE
パラメータを使用します。デフォルトはDYNAMIC
です。
Oracle GoldenGateでの列名とリテラルの指定は、デフォルトで、SQL-92ルールに従います。大/小文字の区別をサポートするには名前を引用符で囲む必要があるデータベースの場合、Oracle GoldenGateのパラメータ・ファイル、変換関数、ユーザー・イグジットおよびコマンドでは、大/小文字が区別される列名を二重引用符で囲む必要があります。次に例を示します。
"columnA"
大/小文字を区別するのに引用符が不要なデータベースの場合、大/小文字が区別される列名はデータベースに格納されているとおりに指定する必要があります。次に例を示します。
ColumnA
リテラルは一重引用符で囲む必要があります。次の例では、Product_Code
はOracleデータベース内の大/小文字が区別される列名であり、その他の文字列はリテラルです。
@CASE ("Product_Code", 'CAR', 'A car', 'TRUCK', 'A truck')
バージョン12cより前Oracle GoldenGateバージョンのパラメータ・ファイルとの下位互換性のために、NOUSEANSISQLQUOTES
パラメータを使用してデフォルト・モードを変更できます(このパラメータは12cでは非推奨です)。NOUSEANSISQLQUOTES
によって、Oracle GoldenGateでは二重引用符で囲まれた文字列がリテラルとして扱われます。NOUSEANSISQLQUOTES
の使用時は、一重引用符または二重引用符の有無にかかわらず、大/小文字が区別されるオブジェクト名はサポートされません。次の例では、NOUSEANSISQLQUOTES
の使用時に、@CASE
関数がどのように機能するかを示しています。この場合、PRODUCT_CODE
は列名、その他の文字列はリテラルです。
@CASE (PRODUCT_CODE, "CAR", "A car", "TRUCK", "A truck")