OGG12.2如何extract LOB数据

Fusion Middleware Installing and Configuring Oracle GoldenGate for Oracle Database(12.2.0.1)

1.6.7 Large Object Data Types

支持的数据类型:

  • CLOB
  • NCLOB
  • BLOB
  • SECUREFILE和BASICFILE

1.6.7.1 integrated和classic捕获方式通用的限制

  • OGG不支持大小超过4k的LOB的过滤,列映射和操作。
  • 如果开启了DDL支持,OGG会复制CTAS操作并且允许从源表查询数据。这是由参数GET_CTAS_DMLS控制的,并且适用于所有类型的表。如果启用了这个参数,OIDs被保留。

1.6.7.2 classic捕获方式的限制

  • BASICFILE类型的LOBs数据从redo log获取,但是如下情况会从数据库中获取:

    • Extract判定LOB不可用
    • Redo log中没有LOB数据,有可能创建BASICFILE LOB时启用了nologging选项。
    • 创建LOB时指定了CACHE属性
    • LOB部分更新
    • Extract检测到LOB数据异常
  • SECUREFILE类型的LOBs数据从redo log获取需要同时满足的条件如下:

    • LOB是全部更新(不是部分更新)
    • LOB没有被转换transformed(压缩、解压、去重)
    • Out-of-row方式存储
  • SECUREFILE类型的LOBs数据从数据库中获取的场景:

    • In-row方式存储
    • LOB被转换
    • 创建LOB时指定了CACHE属性
    • Extract判定LOB实例不可用
    • Redo log中不存在LOB数据,可能创建时指定了nologging选项
    • LOB使用函数进行了部分更新
    • Extract检测到其他异常情况
  • 当修改SECUREFILE LOB的存储属性时,oracle会更新整个表,extract从log中捕获这些更新。所以,这就像是oracle更新了与表相关的所有数据块。这种情况在给一个包含null值的列设置默认值时也会出现。

  • 在一个高可用环境中,当表包含JSON列时,extracts可以捕获数据,但是默认的replicat模式不能应用数据。必须设置DBOPTIONS NOSKIPTEMPLOB参数防止replicat异常终止。

你可能感兴趣的:(oracle)