定义文件
有效对象
DEFGEN
说明
使用 DEFSFILE 参数标识 DEFGEN 将向其写入数据定义的文件的名称。缺省情况下,数据定义文件以本地操作系统的字符集写入。可以使用 CHARSET 选项更改字符集。
默认值
无
语法
DEFSFILE <file_name> [APPEND | PURGE] [CHARSET <character_set>] [FORMAT RELEASE <major>.<minor>]
<file_name>
相对或全限定文件名。该文件是在您运行 DEFGEN 时创建的。
APPEND
指示 DEFGEN 在任何现有内容的末尾(如果指定的文件已存在)写入新内容(从当前运行)。如果定义文件已存在,但具有较旧的 Oracle GoldenGate 发行版版本,则可以将 FORMAT RELEASE 选项设置为与现有文件相同的版本,以防止出现错误。否则,DEFGEN 将尝试添加较新的元数据功能并异常终止。使用 APPEND 时存在以下限制:
-
如果现有数据定义文件的格式早于 Oracle GoldenGate 11.2.1,则
DEFGEN将以旧格式附加表定义,其中不支持具有多字节和特殊字符的表和列名称。 -
如果现有数据定义文件采用版本 11.2.1 中引入的较新格式,则
DEFGEN会将表定义附加到文件的现有字符集中。 -
如果现有文件来自版本 11.2 或更低版本,则是在
DEFGEN不支持三部分对象名称时写入的,如果新元数据包含三部分名称,则将导致错误。如果使用DEFGEN参数文件中的NOCATALOG参数删除容器或目录部分,则可以从 Oracle 容器数据库指定对象。
PURGE
指示 DEFGEN 在从当前运行写入新内容之前清除指定的文件。使用 PURGE 时,可以使用支持较新功能的较新元数据(例如三部分对象名称)覆盖旧版本的 DEFGEN 创建的现有定义文件。
CHARSET <character_set>
以指定的字符集生成定义文件。不使用 CHARSET 时,将使用操作系统的缺省字符集。如果为版本为 11.2.1 或更高版本的定义文件指定了 APPEND 模式,则将忽略 CHARSET,并使用现有定义文件的字符集。
FORMAT RELEASE <major.minor>
指定 DEFGEN 发送到定义文件的定义的元数据格式。元数据告知读取进程,文件记录是否是它支持的版本。元数据格式取决于 Oracle GoldenGate 进程的版本。较早的 Oracle GoldenGate 版本包含的元数据与较新的版本不同。当定义文件将由 Oracle GoldenGate 版本比当前版本更旧的进程使用时,请使用 FORMAT。
-
FORMAT是必需的关键字。 -
RELEASE指定 Oracle GoldenGate 发行版本。<major>是主版本号,<minor>是次版本号。X.x必须反映 Oracle GoldenGate 当前或较早的普遍可用 (Generally Availability,GA) 发行版。有效值为 9.0 到当前 Oracle GoldenGateX.x版本号,例如 11.2 或 12.1。(如果使用的 Oracle GoldenGate 版本早于 9.0,请指定 9.0 或 9.5。)发行版本以编程方式映射到相应的内部兼容性级别。默认值为向此线索写入的进程的当前版本。请注意,早于 12.1 的
RELEASE版本不支持由三个部分组成的对象名称。
FORMAT RELEASE <major.minor>
指定提取发送到线索、文件或其他进程(如果是远程任务)的数据的元数据格式。元数据告知读取进程,数据记录版本是否是它支持的版本。元数据格式取决于 Oracle GoldenGate 进程的版本。较早的 Oracle GoldenGate 版本包含的元数据与较新的版本不同。
FORMAT RELEASE 指定 Oracle GoldenGate 发行版本。major 是主版本号,minor 是次版本号。X.x 必须反映 Oracle GoldenGate 当前或较早的普遍可用 (Generally Available, GA) 发行版。有效值为 11.1 到当前 Oracle GoldenGate X.x 版本号,例如 11.2 或 12.1。发行版本以编程方式映射到相应的线索格式兼容性级别。默认值为向此线索写入的进程的当前版本。注意:早于 12.1 的 RELEASE 版本不支持由三个部分组成的对象名称。
注:如果在单个提取中使用多个线索,则仅相同的 RELEASE 版本可以共存。
Oracle Database 12.2 及更高版本支持以下设置:
-
对于兼容性设置为 12.1 的 Oracle Database 12。2 非 CDB 或更高版本,支持
FORMAT RELEASE12.2 或更高版本。 -
对于兼容性设置为 12.2 的 Oracle Database 12。2 非 CDB 或更高版本,支持
FORMAT RELEASE12.2 或更高版本。 -
对于兼容性设置为 12.2 的 Oracle Database 12。2 CDB/PDB 或更高版本,仅支持
FORMAT RELEASE值 12.3 或更高版本。这是由于对 PDB 使用了本地撤消,此功能需要使用 PDB 编号来扩充事务处理ID,以确保事务 ID 的唯一性。
示例
DEFSFILE ./dirdef/orcldef CHARSET ISO-8859-11 FORMAT RELEASE 11.2