SQL Server:支持的数据类型、对象和操作

了解有关 SQL Server 数据库上 Oracle GoldenGate 的支持信息。

Oracle GoldenGate for SQL Server 支持捕获和交付受支持的 SQL Server 数据库版本的初始加载和事务数据。

除非本文档另有说明,否则 Oracle GoldenGate for SQL Server 支持对源数据进行映射、筛选和转换,以及将数据从 Oracle GoldenGate 支持的其他源数据库派生到 SQL Server 数据库。

实例要求

数据库需求

遵守支持 Oracle GoldenGate 的以下要求和限制:

限制:

表要求

要包括在捕获和传送中的表必须仅包括支持的 SQL Server 数据类型中列出的数据类型。

支持的 SQL Server 数据类型

捕获和交付支持以下数据类型,除非在以下限制中特别指出:

限制:

计算列的限制:

不支持的 SQL Server 数据类型和功能

SQL Server 支持的对象和操作

支持以下对象和操作:

SQL Server 的不支持的对象和操作

不支持以下对象和操作:

表级 DDL 更改要求

Oracle GoldenGate for SQL Server 不支持捕获或交付 DDL 更改。但是,从 Oracle GoldenGate 21c 开始,对启用了 TRANDATA 的表所做的更改不会导致提取异常终止。提取将继续处理表的更改数据,就像启用 TRANDATA 时存在的数据一样。

认为是表级 DDL 更改的操作包括但不限于:ALTER TABLE、TRUNCATE TABLE、索引重建和分区交换机。

为了避免由于表级 DDL 更改而导致数据不一致,需要执行以下步骤。

  1. 来源:将应用程序数据暂停或停止到要修改的表。

  2. 来源:确保没有要修改的表的未结事务处理。

  3. 来源:确保 SQL Server CDC Capture 作业处理要修改的表的所有剩余事务。

  4. 来源:在进行任何 DDL 更改之前,请确保提取处理要修改的表的所有事务。

  5. 目标:在进行任何 DDL 更改之前,请确保复制处理要修改的表的所有事务。

  6. (可选)实施“事件标记”表可用于确定已为要修改的表处理所有剩余事务处理的时间,以及处理何时正确停止提取和复制的协调。

  7. 来源:停止提取处理。

  8. 目标:停止复制进程。

  9. 源:为要通过运行 DELETE TRANDATA 修改的表禁用补充日志记录。

  10. 源:对源表进行表 DDL 更改。

  11. 目标:对目标表进行表 DDL 更改。

  12. 来源:通过在执行修改后对表运行 ADD TRANDATA 来重新启用补充日志记录。

  13. 来源:启动提取。

  14. 目标:启动复制。

  15. 来源:将应用程序数据恢复到已修改的表。

SQL Server 的系统方案

复制不支持以下系统方案:

guest 方案不支持使用通配符映射,但在显式列出时受支持,例如 TABLE guest.employees。