Microservices: コマンドライン・インタフェース
管理クライアントを起動するには、現在の作業ディレクトリをOracle GoldenGateホーム・ディレクトリ(OGG_HOME
)に変更する必要があります。
ノート:
管理クライアントを起動する前に、環境変数OGG_HOME
およびOGG_VAR_HOME
を設定する必要があります。
- 管理クライアントについて
- コマンド引数でのワイルドカードの使用
- コマンド履歴の使用
- く使用するコマンド・シーケンスの保存と呼出し
- ExtractおよびReplicatの制御
- ExtractおよびReplicatの削除
- 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-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グループが作成されて起動され、処理情報が取得されます。
詳細は、『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-1は、オブジェクト名における大/小文字の区別のサポート状況を、サポートされるデータベースごとに簡単にまとめたものです。この種のサポートの詳細は、データベースのドキュメントを参照してください。
表11-1 データベースごとのオブジェクト名の大/小文字の区別
データベース | 大/小文字を区別するために引用符が必要か | 引用符で囲んでいないオブジェクト名 | 引用符で囲んだオブジェクト名 |
---|---|---|---|
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";
親トピック: データベース・オブジェクト名でのワイルドカードの使用
ワイルドカードの解決方法
オブジェクト名がワイルドカードで指定されている場合、デフォルトでは、ソース・オブジェクトの1行目の処理と同時に、そのオブジェクトの解決が行われます。(これに対し、オブジェクト名が明示的に指定されている場合は、プロセスの起動時に解決が行われます。)ワイルドカード解決のルールを変更するには、WILDCARDRESOLVE
パラメータを使用します。デフォルトはDYNAMIC
です。
親トピック: データベース・オブジェクト名でのワイルドカードの使用
ワイルドカード指定からのオブジェクトの除外
EXCLUDEWILDCARDOBJECTSONLY
、CATALOGEXCLUDE
、SCHEMAEXCLUDE
、MAPEXCLUDE
、TABLEEXCLUDE
の各パラメータを使用すると、ワイルドカードによるオブジェクト選択を、明示的なオブジェクト除外と組み合せて使用できます。
親トピック: データベース・オブジェクト名でのワイルドカードの使用
大/小文字が区別される列名とリテラルの区別
Oracle GoldenGateでの列名とリテラルの指定は、デフォルトで、SQL-92ルールに従います。大/小文字の区別をサポートするには名前を引用符で囲む必要があるデータベースの場合、Oracle GoldenGateのパラメータ・ファイル、変換関数、ユーザー・イグジットおよびコマンドでは、大/小文字が区別される列名を二重引用符で囲む必要があります。たとえば:
"columnA"
大/小文字を区別するのに引用符が不要なデータベースの場合、大/小文字が区別される列名はデータベースに格納されているとおりに指定する必要があります。たとえば:
ColumnA
リテラルは一重引用符で囲む必要があります。次の例では、Product_Code
はOracleデータベース内の大/小文字が区別される列名であり、その他の文字列はリテラルです。
@CASE ("Product_Code", 'CAR', 'A car', 'TRUCK', 'A truck')