Oracle GoldenGate Microservicesの管理クライアント・コマンドライン・インタフェース
管理クライアントを起動するには、現在の作業ディレクトリをOracle GoldenGateホーム・ディレクトリ(OGG_HOME
)に変更する必要があります。
管理クライアントから使用可能なコマンドの完全なリストおよび説明は、『Oracle GoldenGateコマンド・ライン・インタフェース・リファレンス』のコマンドライン・インタフェースについてを参照してください。
管理クライアントについて
管理クライアントはコマンドライン・ユーティリティです。これは、マイクロサービスによって公開されているREST APIを使用して、Oracle GoldenGateデプロイメントで管理および構成のタスクを実行します。
管理クライアントは、Oracle GoldenGateプロセスの作成、変更および削除に使用できるとともに、MA Webユーザー・インタフェースのかわりに使用できるコマンドライン・ユーティリティです。管理クライアント・プログラムは、$OGG_HOME/bin
ディレクトリ内にあります。この場合、$OGG_HOME
はOracle GoldenGateホーム・ディレクトリです。
-
単一のユーザー名(アカウント)とパスワード
-
管理クライアントが実行されている環境に対してローカルです
-
現在ログインしているユーザーのみが使用可能です
-
管理クライアントによって管理されます
-
資格証明名を使用して参照されます
-
Oracle GoldenGateデプロイメントおよびプロキシ接続で使用可能です。
ノート:
管理クライアントを管理タスク用に使用するには、サービス・マネージャと管理サービスの両方で動作するユーザー資格証明が必要です。管理クライアントを使用するには、次のステップを実行します:
-
Linuxでは、
OGG_HOME
およびPATH
環境変数を次のように設定します。export OGG_HOME=ogg_install_location
export PATH=$OGG_HOME/bin:$PATH
SSL証明書ファイル(.pem
または.der
)を使用してセキュアなデプロイメントを構成する場合は、OGG_CLIENT_TLS_CAPATH
環境変数を追加する必要があります。これは、管理クライアントからデプロイメントに接続できるようにするために必要です。この変数は、証明書ファイルがホストに配置される場所を指定するために使用されます。サーバー証明書の検証のみが必要なクライアントの場合、OGG_CLIENT_TLS_CAPATH
環境変数は、クライアントが接続することが想定されるサーバーと共有する信頼できるCA証明書を含むファイルを参照する必要があります。export OGG_CLIENT_TLS_CAPATH = deployment_rootCA_certificate_location
ノート:
Microsoft Windowsの場合、デフォルトの証明書ファイルの形式は.der
ですが、他のすべてのプラットフォームではデフォルトの形式として.pem
が使用されます。 -
次のコマンドを実行します。
[oracle]$ adminclient
出力には、Oracle GoldenGate管理クライアントのプロンプトが表示され、管理クライアントからデプロイメントに接続できます:OGG (not connected) 1>
-
セキュリティ・ユーザーとして管理クライアントからデプロイメントまたはプロキシ・サーバーに接続します。これは、OGGCAを使用してOracle GoldenGateインスタンスに対するデプロイメントの追加中に作成したユーザーです。
CONNECT http(s)://localhost:port DEPLOYMENT deployment name AS security role user PASSWORD password
ノート:
管理クライアントからセキュアまたは非セキュア・デプロイメントに接続するパスワードの最後に感嘆符(!)が含まれる場合、単一行でCONNECT
コマンドを使用する際はパスワードを二重引用符で囲って入力する必要があります。そうしないと、パスワードは受け入れられず、接続に失敗します。これは、強力なパスワード・ポリシーを持つすべてのデプロイメントで必須です。構文:CONNECT - Connect to an Oracle GoldenGate Service Manager |CONNECT server-url [ DEPLOYMENT deployment-name] |[ ( AS deployment-credentials-name| | USER deployment-user-name ) |[PASSWORD deployment-password] ] |[PROXY proxy-uri| |[(AS proxy-credentials-name |USER proxy-user-name) |[ PASSWORD proxy-password] ] ] [ ! ]
詳細は、Oracle GoldenGateコマンドライン・インタフェース・リファレンスの
CONNECT
コマンドを参照してください。ノート:
デプロイメント資格証明は、資格証明ストアにUSERIDALIAS
として保存できません。これは、データベース資格証明の格納に使用されるOracleウォレットは管理サービスによって管理されるためです。かわりに、管理クライアント用に個別のOracleウォレットが作成されます。Oracleウォレットは、ユーザー・ホーム・ディレクトリに格納されます。次の例は、管理クライアントからデプロイメントに接続するためのOracle GoldenGateデプロイメント・ユーザーの追加を示しています:
ADD CREDENTIALS admin USER ggadmin PASSWORD oggadmin-A1
出力:2019-02-14T00:35:38Z INFO OGG-15114 Credential store altered.
次の例は、管理クライアントからデプロイメントに接続するためのOracle GoldenGateデプロイメント・プロキシ・ユーザーの追加を示しています:
ADD CREDENTIALS proxy USER proxyadmin PASSWORD oggadmin-A2
出力:2019-02-14T00:35:48Z INFO OGG-15114 Credential store altered.
OGG (Not Connected)4> CONNECT http://www.example.com:12000 deployment EAST PROXY http:111.1.1.1:3128 as proxyadmin password oggadmin-A2 Using default deployment 'Local' OGG (http://www.example.com:12000 Local) 4>
プロキシ接続の資格証明が無効な場合は、次のエラーのようなエラーが発生します。ERROR: Proxy server user name 'proxyadmin' or password is incorrect.
-
HELP
コマンドを使用して、管理クライアント・コマンドの完全なリストを表示できます。HELP SHOWSYNTAX
コマンドを使用すると、特定のコマンドの構文を表示できます。
コマンド引数でのワイルドカードの使用
一部のOracle GoldenGateコマンドでワイルドカードを使用して、複数のExtractグループおよびReplicatグループを1つの単位として制御できます。Oracle GoldenGateでサポートされるワイルドカード記号は、アスタリスク(*)です。アスタリスクは、任意の数の文字を表します。たとえば、名前に文字Xを含むすべてのExtractグループを起動するには、次のコマンドを発行します。
START EXTRACT *X*
コマンド履歴の使用
次のツールを使用すると、複数のコマンドを簡単に実行できます。
-
以前実行したコマンドのリストを表示するには、
HISTORY
コマンドを使用します。 -
以前のコマンドを編集せずに再実行するには、
!
コマンドを使用します。 -
以前のコマンドを編集してから再実行するには、
FC
コマンドを使用します。
よく使用するコマンド・シーケンスの保存と呼出し
よく使用する一連のコマンドは、OBEYファイルおよびOBEY
コマンドを使用して自動化できます。OBEY
ファイルでは、ローカル・オペレーティング・システムの文字セットが認識されます。その文字セットと互換性のない文字を指定するには、Unicode表記法を使用します。
OBEYを使用する手順
例11-37 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グループが作成されて起動され、処理情報が取得されます。
詳細は、Oracle GoldenGateパラメータおよび機能リファレンスのOBEY
を参照してください。
ExtractおよびReplicatの制御
ここでは、ExtractプロセスとReplicatプロセスを制御するための基本的な手順を示します。
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 is: KILL, START, or STOP
-
wildcard specification
は、コマンドを適用するプロセス・グループの名前のワイルドカード指定です。コマンドは、ワイルドカードに適合するすべてのExtractおよびReplicatグループに適用されます。Oracle GoldenGateでは、最大100,000個のワイルドカード・エントリがサポートされます。
ExtractおよびReplicatの削除
この項では、ExtractプロセスとReplicatプロセスを削除する基本的な方法について説明します。
Extractグループを削除する手順
-
管理クライアントからデプロイメントに接続します。
-
Extractデータベース・ユーザー(または同じ権限を持つユーザー)として
DBLOGIN
コマンドを発行します。ローカル資格証明ストアの有無に応じて、次のいずれかのコマンドを使用できます。DBLOGIN [SOURCEDB dsn] {USERID user, PASSWORD password [encryption_options] | USERIDALIAS alias [DOMAIN domain]}
-
Extractプロセスを停止します。
STOP EXTRACT group_name
-
次のコマンドを発行します。
DELETE EXTRACT group_name
-
(Oracle)Extractグループをデータベースから登録解除します。
UNREGISTER EXTRACT group_name,database_name
Replicatグループを削除する手順
Replicatグループを削除しても、チェックポイント表のチェックポイントは保持されます(使用されている場合)。プロセス・グループを削除しても、パラメータ・ファイルは失われません。同じパラメータ・ファイルを使用して同じグループを再作成できます。また、パラメータ・ファイルを削除して、グループの構成を完全に削除することもできます。
Oracle GoldenGateの入力におけるオブジェクト名の指定
パラメータ・ファイル(TABLE
文、MAP
文など)、列変換関数、コマンド、その他の入力でオブジェクト名を指定する際には、次のルールが適用されます。
Windowsシステムでのパラメータ・ファイルでのファイルシステム・パス名の指定
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は、次の特殊文字も含めて、データベースでサポートされるすべての文字をサポートしています。パラメータ・ファイルでは、これらの特殊文字を含むオブジェクト名を二重引用符で囲む必要があります。
文字 | 説明 |
---|---|
/ |
スラッシュ(「スラッシュを含む名前の指定」を参照) |
* |
アスタリスク(パラメータ・ファイルで使用する場合は、 |
? |
疑問符(パラメータ・ファイルで使用する場合は、 |
@ |
アットマーク(サポートされますが、データベースでリソース・ロケータとして使用されることが多い文字です。オブジェクト名では問題を生じることがあります。) |
# |
ポンド記号 |
$ |
ドル記号 |
% |
パーセント記号(パラメータ・ファイルで使用する場合は、 |
^ |
カレット記号 |
( ) |
開き丸カッコと閉じ丸カッコ |
_ |
アンダースコア |
- |
ダッシュ |
<space> |
空白 |
スラッシュを含む名前の指定
表名のいずれかの部分にスラッシュ文字(/)が含まれている場合、その名前コンポーネントを二重引用符で囲む必要があります。オブジェクト名がIBM iプラットフォームからのものの場合、このかぎりではありません。次に例を示します。
"c/d" "/a".b a."b/"
二重引用符で囲まれていないスラッシュが名前に含まれる場合、その名前はIBM iプラットフォーム(DB2 for iデータベース)からのものとしてOracle GoldenGateで処理されます。名前に含まれるスラッシュは、区切り文字として解釈されます。
データベース・オブジェクト名の修飾
オブジェクト名はパラメータ・ファイルで完全修飾されている必要があります。つまり、Oracle GoldenGateのパラメータ構文への入力で指定する名前だけでなく、すべての名前(SQLEXEC
入力として指定するSQLプロシージャまたは問合せ内の名前や、ユーザー・イグジット入力の名前の他、パラメータ・ファイルに入力するその他すべての名前)の指定が修飾されている必要があります。
Oracle GoldenGateでは、データベースに応じて、2つの部分からなるオブジェクト名と3つの部分からなるオブジェクト名がサポートされています。
2つの部分からなる名前
ほとんどのデータベースでは、2つの部分からなる名前のみを次の形式で指定する必要があります。
owner.object
例: HR.EMP
説明:
owner
は、スキーマまたはデータベースです(データベース・オブジェクトを格納する論理ネームスペースの定義方法によって異なる)。object
は、表またはその他のサポートされるデータベース・オブジェクトです。
Oracle GoldenGateで2つの部分からなる名前がサポートされるデータベースと、それぞれの適切なネーミング規則を次に示します。
-
Db2 for i:
schema.object
およびlibrary/file(member)
-
Db2 LUW:
schema.object
-
Db2 on z/OS:
schema.object
-
MySQL:
database.object
-
Oracle Database (CDB以外のデータベース):
schema.object
-
SQL Server:
schema.object
-
Teradata:
database.object
3つの部分からなる名前
Oracle GoldenGateで3つの部分からなる名前がサポートされているデータベースを次に示します。
-
Oracleコンテナ・データベース(CDB)
ソースOracleコンテナ・データベースから取得する場合には、3つの部分からなる名前が必要です(1つのExtractグループが複数のコンテナから取得する可能性があるため)。したがって、ExtractのTABLE
文では、各オブジェクトまたは複数のオブジェクトに対して、コンテナ名とスキーマ名を指定する必要があります。
3つの部分からなるOracle CDB名は次のように指定します。
container.schema.object
例: PDBEAST.HR.EMP
複数のコンテナまたはカタログからのデータの適用
複数のソース・コンテナまたはカタログから取得したデータをターゲットOracleコンテナ・データベースに適用するには、3つおよび2つの部分からなる名前の両方が必要です。MAP
文のMAP
部分では、各ソース・オブジェクトがコンテナまたはカタログに関連付けられている必要があります(TABLE
文の場合と同様)。これにより、ユーザー(およびReplicat)は、複数のソース・コンテナまたはカタログから適切なターゲット・オブジェクトにデータを正しくマップできます。一方、MAP
文のTARGET
部分で必要なのは、2つの部分からなる名前のみです。これは、Replicatが同時に接続可能なターゲット・コンテナまたはカタログは1つのみなので、schema.owner
という修飾子で十分だからです。複数のターゲット・コンテナまたはカタログに対応するには、複数のReplicatグループが必要です。ターゲット・コンテナまたはカタログは、TARGETDB
パラメータで指定します。
デフォルトのコンテナまたはカタログの指定
パラメータ・ファイルでSOURCECATALOG
パラメータを使用すると、それ以降のTABLE
、MAP
(またはOracle SEQUENCE
)の各指定に対して、デフォルトのカタログを指定できます。
次の例は、SOURCECATALOG
を使用して、region
およびjobs
オブジェクトにpdbeast
というデフォルトのOracle PDBを指定し、appraisal
オブジェクトにpdbwest
というデフォルトのPDBを指定する方法を示しています。pdbeast
のオブジェクトは3つの部分からなる完全修飾名で指定されているため、デフォルトのカタログを指定する必要はありません。
TABLE pdbeast.hr.emp*;
SOURCECATALOG pdbeast
TABLE region.country*;
TABLE jobs.desg*;
SOURCECATALOG pdbwest
TABLE appraisal.sal*;
大/小文字が区別されるデータベース・オブジェクト名の指定
Oracle GoldenGateでは大/小文字が区別される名前をサポートしています。大/小文字が区別されるオブジェクトを指定する場合は、次のルールに従います。
-
大/小文字が区別されるデータベースのオブジェクト名は、それをホスト・データベースに格納するときと同じ大/小文字で指定します。データベースのタイプによっては、大/小文字の区別の有無がデータベースのレベルごとに異なる場合がありますので注意してください(スキーマは大/小文字が区別されるが、表は区別されないなど)。大/小文字を区別するには引用符が必要になるデータベースの場合は、大/小文字を区別する各オブジェクトを修飾名の中で引用符で囲んでください。
正:
TABLE "Sales"."ACCOUNT"
誤:
TABLE "Sales.ACCOUNT"
-
Oracle GoldenGateでは、マッピング目的での必要に応じて、大/小文字が区別されない名前を格納時の大/小文字に変換します。
表11-18は、オブジェクト名における大/小文字の区別のサポート状況を、サポートされているデータベースごとに簡単にまとめたものです。この種のサポートの詳細は、データベースのドキュメントを参照してください。
表11-18 データベースごとのオブジェクト名の大/小文字の区別
データベース | 大/小文字を区別するために引用符が必要か | 引用符で囲んでいないオブジェクト名 | 引用符で囲んだオブジェクト名 |
---|---|---|---|
DB2 |
はい。大/小文字を区別するかどうかを引用符の有無で識別します。 |
大/小文字が区別されず、大文字で格納されます。 |
大/小文字が区別され、大文字と小文字の混在で格納されます。 |
MySQL (大/小文字が区別されるデータベース) |
いいえ
|
影響なし |
影響なし |
Oracle Database |
はい。大/小文字を区別するかどうかを引用符の有無で識別します。 |
大/小文字が区別されず、大文字で格納されます。 |
大/小文字が区別され、大文字と小文字の混在で格納されます。 |
SQL Server (データベースは大/小文字を区別するものとして作成) |
いいえ 常に大/小文字が区別され、大文字と小文字の混在で格納されます。 |
影響なし |
影響なし |
SQL Server (データベースは大/小文字を区別しないものとして作成) |
いいえ 常に大/小文字が区別されず、大文字と小文字の混在で格納されます。 |
影響なし |
影響なし |
Teradata |
いいえ 常に大/小文字が区別されず、大文字と小文字の混在で格納されます。 |
影響なし |
影響なし |
ノート:
サポートされるすべてのデータベースにおいて、パスワードは、関連オブジェクト名が引用符で囲まれているかどうかに関係なく、常に大/小文字を区別するものとして扱われます。
データベース・オブジェクト名でのワイルドカードの使用
指定されたデータベースに対してサポートされている場合、完全修飾されたオブジェクト名の任意の部分にワイルドカードを使用できます。これらの名前の部分とは、コンテナ名、データベース名、カタログ名、所有者名(スキーマ名またはデータベース名)、表名または順序名です。オブジェクト名とワイルドカードのサポートの詳細は、そのデータベースに対応する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パラメータおよび機能リファレンスを参照してください。
オブジェクト名におけるリテラルとしてのアスタリスクまたは疑問符
オブジェクトの名前自体にアスタリスクまたは疑問符が含まれている場合、次の例に示すように、名前全体をエスケープして二重引用符で囲む必要があります。
TABLE HT."\?ABC";
大/小文字が区別される列名とリテラルの区別
Oracle GoldenGateでの列名とリテラルの指定は、デフォルトで、SQL-92ルールに従います。大/小文字の区別をサポートするには名前を引用符で囲む必要があるデータベースの場合、Oracle GoldenGateのパラメータ・ファイル、変換関数、ユーザー・イグジットおよびコマンドでは、大/小文字が区別される列名を二重引用符で囲む必要があります。たとえば:
"columnA"
大/小文字を区別するのに引用符が不要なデータベースの場合、大/小文字が区別される列名はデータベースに格納されているとおりに指定する必要があります。たとえば:
ColumnA
リテラルは一重引用符で囲む必要があります。次の例では、Product_Code
はOracleデータベース内の大/小文字が区別される列名であり、その他の文字列はリテラルです。
@CASE ("Product_Code", 'CAR', 'A car', 'TRUCK', 'A truck')
管理クライアントを使用したパラメータ・ファイルの作成
EDIT PARAMS
コマンドを実行します。EDIT PARAMS
でパラメータ・ファイルを作成すると、そのファイルはOracle GoldenGateディレクトリのdirprm
サブディレクトリに保存されます。
ADD EXTRACTまたはADD REPLICATコマンドの
PARAMS
オプションでそのフルパス名を指定する必要があります。パラメータ・ファイルは、ExtractグループまたはReplicatグループに関連付けた後は、処理の開始後にOracle GoldenGateを適切に動作させるために、元の場所から移動しないでください。
EDIT PARAMS
コマンドは、管理クライアントで次のテキスト・エディタを起動します。
-
Microsoft Windowsシステムの場合、メモ帳
- UNIXおよびLinuxシステムの場合、viエディタSSHまたはxtermに接続されている場合、Db2 for iはviのみをサポートします。詳細は、テキスト・エディタでパラメータ・ファイルを作成する方法を参照してください。
ノート:
管理クライアントからデフォルト・エディタを変更するには、SET EDITOR
コマンドを使用します。
-
管理クライアントを起動します。
-
CONNECT
コマンドを使用して管理クライアントに接続します。 -
管理クライアントで次のコマンドを発行して、デフォルトのテキスト・エディタを開きます。
このコード・スニペットでは:EDIT PARAMS group_name
group_name
は、ファイルが作成されるExtractまたはReplicatグループの名前です。ExtractまたはReplicatのパラメータ・ファイルの名前は、プロセス・グループの名前と同じである必要があります。次では、
exte
という名前のExtractグループのパラメータ・ファイルを作成または編集します。EDIT PARAMS exte
-
テキスト・エディタの編集機能を使用して、このファイルを説明するコメント行を必要な数だけ入力します(各コメント行の先頭には必ず2つのハイフン(--)を挿入してください)。
-
コメント以外の行に、Oracle GoldenGateのパラメータを入力します(パラメータ文ごとに新しい行を開始します)。
Oracle GoldenGateのパラメータの構文は次のとおりです。
PARAMETER_NAME argument [,option] [&]
説明:
-
PARAMETER_NAME
は、パラメータの名前です。 -
argument
は、パラメータの必須引数です。一部のパラメータには引数がありますが、その他のパラメータにはありません。引数間のカンマはオプションです。EXTRACT exte USERIDALIAS ggadmin ENCRYPT AES192 KEYNAME mykey ENCRYPTTRAIL AES 192 EXTTRAIL /north/ea, PURGE CUSEREXIT userexit.dll MyUserExit, INCLUDEUPDATEBEFORES, & PARAMS "init.properties" TABLE hr.employees;
-
[,option]
は、オプション引数です。 -
[&]
は、前述の例のCUSEREXIT
パラメータ文のように、複数行にわたるパラメータ文の各行の最後に必要です。ただし、次のものはセミコロンで終わるため、アンパサンドの指定は可能ですが必須ではなく、例外となります。-
MAP
-
TABLE
-
SEQUENCE
-
FILE
-
QUERY
-
-
-
保存してファイルを閉じます。
パラメータ・ファイルの検証
-
Administration Serviceの「概要」ページの「Extract」または「Replicat」セクションで、「アクション」をクリックし、「詳細」をクリックします。
-
「レポート」タブをクリックして、ExtractおよびReplicatのパラメータ、エラー・ログおよびその他の情報のレポートを表示します。
Extractパラメータの確認および編集の詳細は、「Extractの詳細へのアクセス」を参照してください。Replicatパラメータ・ファイルの編集の詳細は、Replicatプロセスの詳細へのアクセスを参照してください。「統合Replicat用のその他のパラメータ・オプション」も参照してください
コマンド行から実行するcheckprm
検証用ネイティブ・コマンドを使用し、構成可能なアプリケーションと実行環境を使用して、指定されたパラメータ・ファイルのアセスメントを提供することもできます。単純にPASS/FAILを表示するか、各パラメータの値がどのように格納され解釈されるかに関する詳細を追加して表示することもできます。
CHECKPRM
実行可能ファイルは、Microservices Architectureの$OGG_HOME/bin
ディレクトリにあります。Oracle GoldenGateパラメータおよび機能リファレンスのcheckprmを参照してください。checkprm
への入力は大/小文字を区別しません。値文字列にスペースが含まれている場合、checkprmは意味のある値を認識できるので、引用符で囲む必要はありません。checkprm
にモードが指定されていない場合は、コンポーネントのあらゆるモードに適用可能なすべてのパラメータが使用されます。
checkprm
の出力は、想定される次の4つのセクションにまとめられます。
-
ヘルプ・メッセージ
-
事前検証エラー
-
検証結果
-
パラメータの詳細
一般に事前検証エラーとは、通常のパラメータ検証が実行できなくなるエラー(オプションの欠落やアクセス不可能なパラメータ・ファイルなど)のことです。オプションの値が間違って指定されている場合、そのオプションに対して考えられる入力のリストが表示されます。結果がFAIL
の場合、各エラーが最終結果メッセージに表示されます。結果がPASS
の場合、一部のパラメータに対してさらに実行時検証が行われることを示すメッセージが表示されます。パラメータの詳細出力には、検証コンテキストと指定されたパラメータが含まれます。パラメータとオプションは、これらの関係がわかるよう、適切にインデントして出力されます。
CHECKPARAMSパラメータを参照してください。
パラメータ・ファイルの作成の簡略化
次の時間節約ツールを使用することで、パラメータを指定する回数を減らすことができます。
ワイルドカードの使用
オブジェクト名を使用するパラメータの場合、アスタリスク(*)および疑問符(?)のワイルドカードを使用できます。ワイルドカードを使用することで、多数のオブジェクト名または特定のスキーマ内のすべてのオブジェクトを指定する必要がなくなります。ワイルドカードの使用方法の詳細は、「データベース・オブジェクト名でのワイルドカードの使用」を参照してください。
OBEYの使用
よく使用するパラメータ設定が含まれるテキスト・ファイルのライブラリを作成し、その後、OBEY
パラメータを使用して、アクティブなパラメータ・ファイルからそれらのファイルを呼び出すことができます。OBEY
の構文は次のとおりです。
OBEY file_name
説明:
file_name
は、ファイルの相対名またはフルパス名です。
Oracle GoldenGateは、アクティブなパラメータ・ファイル内でOBEY
パラメータを検出すると、その参照先ファイルのパラメータを処理してから、アクティブなファイルに戻って残りのパラメータを処理します。GLOBALS
パラメータ・ファイルではOBEY
はサポートされていません。
OBEY
パラメータを含むパラメータ・ファイルでCHARSET
パラメータを使用する場合、参照先のパラメータ・ファイルはCHARSET
の文字セットを継承しません。CHARSET
の文字セットは参照先ファイル内のワイルドカードを使用したオブジェクト名の読取りに使用しますが、参照先ファイルにおけるその他すべてのマルチバイト指定については、エスケープ・シーケンス(\uX
)を使用する必要があります。
OBEY
に関する詳細は、Oracle GoldenGateパラメータおよび機能リファレンスを参照してください。
CHARSET
に関する詳細は、Oracle GoldenGateパラメータおよび機能リファレンスを参照してください。
パラメータ置換の使用
パラメータ置換を使用すると、パラメータ・ファイルの作成時に静的な値を割り当てるかわりに、実行時に自動的にOracle GoldenGateのパラメータに値を割り当てることができます。この方法であれば、実行ごとに値が変化する場合に、パラメータ・ファイルを編集したり、異なる設定を含む複数のファイルを管理する必要がなくなります。必要な値は、実行時に簡単にエクスポートできます。パラメータ置換は、任意のOracle GoldenGateプロセスで使用できます。
パラメータ置換を使用する手順
例11-38 Windowsでのパラメータ置換
C:\GGS> set EXTFILE=C:\ggs\extfile C:\GGS> set TABNAME=PROD.ACCOUNTS C:\GGS> replicat paramfile c:\ggs\dirprm\parmfl
例11-39 UNIX (Kornシェル)でのパラメータ置換
$ EXTFILE=/ggs/extfile $ export EXTFILE $ TABNAME=PROD.ACCOUNTS $ export TABNAME $ replicat paramfile ggs/dirprm/parmfl
UNIXでは、大/小文字が区別されるため、大/小文字の使用については、パラメータ・ファイルのパラメータ宣言とシェルの変数割当てで同じである必要があります。