データベース・オブジェクト名の修飾

オブジェクト名はパラメータ・ファイルで完全修飾されている必要があります。つまり、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

  • z/OS上のDB2: schema.object

  • MySQL: database.object

  • Oracle Database (CDB以外のデータベース): schema.object

  • SQL Server: schema.object

  • Teradata: database.object

3つの部分からなる名前

Oracle GoldenGateでは、ダウンストリームExtractを使用する場合のみ、Oracleコンテナ・データベースに対して3つの部分からなる名前がサポートされます。ただし、Oracle GoldenGateでは、通常、Oracleデータベース用のPDBごとのExtractのみがサポートされます。

ソース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パラメータを使用すると、それ以降のTABLEMAP(または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*;