Oracle® Fusion Middleware Oracle DatabaseのためのOracle GoldenGateのインストールおよび構成 12c (12.2.0.1) E70107-04 |
|
![]() 前 |
![]() 次 |
Extractでは、DDL操作の実行時に有効な現在のスキーマ(セッション・スキーマとも呼ばれる)をキャプチャします。ソースがマルチテナント・コンテナ・データベースの場合、現在のコンテナもキャプチャされます。コンテナとスキーマは、DDL内の修飾されていないオブジェクト名の解決に使用されます。
次の例で考えてみます。
CONNECT SCOTT/TIGER CREATE TABLE TAB1 (X NUMBER); CREATE TABLE SRC1.TAB2(X NUMBER) AS SELECT * FROM TAB1;
両方のDDL文の修飾されていない表TAB1
は、DDLの実行時に有効な現在のスキーマSCOTT
に基づいてSCOTT.TAB1
と解決されます。
現在のスキーマを設定する方法には、次の例に示すようにセッションのcurrent_schema
を設定するという別の方法もあります。
CONNECT SCOTT/TIGER ALTER SESSION SET CURRENT_SCHEMA=SRC; CREATE TABLE TAB1 (X NUMBER); CREATE TABLE SRC1.TAB2(X NUMBER) AS SELECT * FROM TAB1;
両方のDDL文の修飾されていない表TAB1
は、DDLの実行時に有効な現在のスキーマSRC
に基づいてSRC.TAB1
と解決されます。
クラシックと統合の両方のキャプチャ・モードで、ExtractはDDLの実行時に有効な現在のスキーマをキャプチャし、現在のスキーマを使用して、修飾されていないオブジェクト名(ある場合)を解決します。その結果、Replicatに対して指定されるMAP
文は、修飾されていないオブジェクト名を使用するDDLについて正しく機能します。
ターゲットでDDLが成功するために必要な場合、ソース・セッション・スキーマを別のターゲット・セッション・スキーマにマップすることもできます。このマッピングはグローバルで、同じスキーマ名を含む他のマッピングをオーバーライドします。セッション・スキーマをマップするには、MAPSESSIONSCHEMA
オプションを指定してDDLOPTIONS
パラメータを使用します。詳細は、『Oracle GoldenGate for Windows and UNIXリファレンス』を参照してください。
デフォルトまたはマップされたセッション・スキーマのマッピングが失敗した場合、次のDDLERROR
パラメータ文を使用してエラーを処理することができます。エラー1435は、スキーマが存在しないことを示します。
DDLERROR 1435 IGNORE INCLUDE OPTYPE ALTER OBJTYPE SESSION