ALLOWNONVALIDATEDKEYS
有效对象
GLOBALS
说明
使用 ALLOWNONVALIDATEDKEYS 可以允许 Extract、Replicat 和 Admin Client 命令使用未验证的主键或无效键作为唯一标识符。此参数将改写 Oracle GoldenGate 使用的关键选择标准。启用后,Oracle GoldenGate 将使用 NON VALIDATED 和 NOT VALID 主键作为唯一标识符。
密钥可能会因对象重组或许多其他操作而变为无效,但如果您知道密钥有效,则 ALLOWNONVALIDATEDKEYS 会节省重新验证密钥的停机时间,尤其是在测试环境中。但是,使用 ALLOWNONVALIDATEDKEYS 时,无论是在测试中还是在生产环境中,您都会承担无法通过复制准确维护目标数据的风险。如果某个关键字被证明无效,并且定义该关键字的表包含多个具有相同关键字值的记录,则 Oracle GoldenGate 可能会选择错误的目标行进行更新。
要在 DDL 复制未处于活动状态的配置中启用 ALLOWNONVALIDATEDKEYS,请停止所有进程,将 ALLOWNONVALIDATEDKEYS 添加到 GLOBALS 参数文件,然后重新启动进程。要再次禁用 ALLOWNONVALIDATEDKEYS,请将其从 GLOBALS 文件中删除,然后重新启动进程。
要在 DDL 支持处于活动状态的配置中启用 ALLOWNONVALIDATEDKEYS 功能,请执行以下步骤。
-
将
ALLOWNONVALIDATEDKEYS参数添加到GLOBALS参数文件中。 -
使用以下 SQL 更新
DDL方案中的GGS_SETUP表。
UPDATE <owner>.GGS_SETUP SET value='1' WHERE property='ALLOWNONVALIDATEDKEYS';
COMMIT;
- 重新启动所有 Oracle GoldenGate 进程,包括 Manager。从此以后,Oracle GoldenGate 会选择未验证或无效的主键作为唯一标识符。
要在 DDL 支持处于活动状态时禁用 ALLOWNONVALIDATEDKEYS 功能,请执行以下步骤。
-
从
GLOBALS参数文件中删除ALLOWNONVALIDATEDKEYS。 -
将添加到
GGS_SETUP表中的记录更新到0。UPDATE owner.GGS_SETUP SET value='0' WHERE property='ALLOWNONVALIDATEDKEYS'; COMMIT;重新启动所有 Oracle GoldenGate 进程。
默认值
无(已禁用)
语法
ALLOWNONVALIDATEDKEYS