映射的范围

此页上的脚本内容仅用于导航目的,不会以任何方式变更该内容。

TABLE 和 MAP 语句中指定的对象具有 MAPPED 范围。除非应用覆盖规则,否则这些语句中的提取和复制指令将同时应用于指定对象上的数据 (DML) 和 DDL。

对于 TABLE 和 MAP 语句中的对象,支持下表中列出的 DDL 操作。

操作 在这些对象中的任何一个 (1)

CREATE

ALTER

DROP

RENAME

COMMENT ON 脚注 2

TABLE 脚注 3

INDEX

TRIGGER

SEQUENCE

MATERIALIZED VIEW

VIEW

FUNCTION

PACKAGE

PROCEDURE

SYNONYM

PUBLIC SYNONYM 脚注 4

GRANT

REVOKE

TABLE

SEQUENCE

MATERIALIZED VIEW

ANALYZE

TABLE

INDEX

CLUSTER

脚注 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 包含不合格的对象,则为目标分配的方案取决于 Understanding DDL Scopes 中描述的情况。

假设有以下 TABLE 和 MAP 语句:

提取(来源)

TABLE hr.employees;
TABLE hr.emp*;

复制(目标)

MAP hr.employees, TARGET hr2.employees2;
MAP hr.emp*, TARGET hrEMPLOYEES.bak_*;

还假定以下各项的源 DDL 语句:

ALTER TABLE hr.employees ADD notes varchar2(100);

在本示例中,由于源表 fin.expen 位于 MAP 语句中,并且具有映射到其他方案和表名的 TARGET 子句,因此目标 DDL 语句变为:

ALTER TABLE hr2.employees2 ADD notes varchar2(100);

同样,示例中的第二组 TABLE 和 MAP 语句也可以使用以下源和目标 DDL 语句:

源:

CREATE TABLE hr.tabPayables ... ;

目标:

CREATE TABLE hrBackup.bak_tabPayables ...;

当对象具有 MAPPED 范围时,您可以从 DDL 配置参数中省略其名称,除非要进一步细化其 DDL 支持。如果需要更改 TABLE 和 MAP 语句中的对象名称,这些更改将自动应用于这些对象的 DDL。

如果在 TABLE 语句中包含对象,但未包含在 MAP 语句中,则该对象的 DDL 在源上的作用域中为 MAPPED,而在目标上的作用域中为 UNMAPPED。