マップ済スコープ
このページのスクリプト・コンテンツはナビゲーションのみを目的としており、いかなる方法においても内容を変更するものではありません。
TABLE文およびMAP文で指定されるオブジェクトは、MAPPEDスコープのオブジェクトです。これらの文の抽出およびレプリケーションの指示は、オーバーライド・ルールを適用する場合を除き、指定されたオブジェクトに対するデータ(DML)とDDLの両方に適用されます。
TABLE文とMAP文内のオブジェクトでは、次の表にリストされたDDL操作がサポートされます。
| 操作 | 対象のオブジェクト(1) |
|---|---|
|
|
|
|
ANALYZE |
|
脚注1 TABLEおよびMAPは、これらの操作の影響を受けるオブジェクト名に使用される可能性のある一部の特殊文字をサポートしません。サポートされていない特殊文字を含むオブジェクトは、UNMAPPEDおよびOTHERのスコープでサポートされます。
脚注2
COMMENT ON TABLE、COMMENT ON COLUMNに適用されます。
脚注3
AS SELECTが含まれます
脚注4
表名は、スキーマ名で修飾する必要があります。
Extractの場合、MAPPEDスコープでは、TABLE文の指示に従ってDDLキャプチャ用にオブジェクトがマークされます。Replicatの場合、MAPPEDスコープにより、レプリケーション用のDDLがマークされ、MAP文のTARGET句のスキーマと名前によって指定されたオブジェクトにマップされます。このマッピングを実行するために、ReplicatによってALTER SESSIONが発行され、ReplicatセッションのスキーマがTARGET句で指定されたスキーマに設定されます。修飾されていないオブジェクトがDDLに含まれている場合、ターゲットに割当てられるスキーマは、「DDLスコープの理解」に説明されている状況に応じて異なります。
次のTABLE文とMAP文があるとします。
抽出(ソース)
TABLE hr.employees;
TABLE hr.emp*;
Replicat (ターゲット)
MAP hr.employees, TARGET hr2.employees2;
MAP hr.emp*, TARGET hrEMPLOYEES.bak_*;
次のソースDDL文もあるとします。
ALTER TABLE hr.employees ADD notes varchar2(100);
In this example, because the source table fin.expen is in a MAP statement with a TARGET clause that maps to a different schema and table name, the target DDL statement becomes:
ALTER TABLE hr2.employees2 ADD notes varchar2(100);
同様に、例のTABLE文とMAP文の2つ目のセットには、次のソースとターゲットのDDL文が考えられます。
ソース:
CREATE TABLE hr.tabPayables ... ;
ターゲット:
CREATE TABLE hrBackup.bak_tabPayables ...;
MAPPEDスコープのオブジェクトでは、DDLサポートを詳細に調整しない場合、DDL構成パラメータからオブジェクト名を省略できます。TABLE文とMAP文でオブジェクト名を変更する必要がある場合、それらのオブジェクトに対するDDLに変更が自動的に適用されます。
オブジェクトがTABLE文に含まれ、MAP文に含まれない場合、そのオブジェクトに対するDDLのスコープは、ソースではMAPPEDですが、ターゲットではUNMAPPEDです。