1

我想了解启用 CDC 的 IBM IMS 段和 IBM DB2 表源是否能够提供快照更改前后的值(如触发器中的 Oracle .OLD 和 .NEW 值),以便两者都可以使用用于进一步处理。

笔记:

  1. 我们应该通过 Informatica PowerExchange 检索这些值并处理和推送到目标。
  2. 到目前为止,我们需要知道我们是否能够从 IBM DB2 和 IBM IMS(如 Oracle 触发器中的 .OLD 和 .NEW )检索快照前和快照后的值 - 不是完全相同的示例,但仅作为示例提及了解)

非常感谢任何帮助,谢谢。

4

3 回答 3

0

具有旧引用和新引用的示例触发器...

CREATE TRIGGER danny117                                      
        NO CASCADE BEFORE Update ON mylib.myfile  
      REFERENCING NEW AS N old as O                        

      FOR EACH ROW                                         
-- don't let the claim change and force upper case         
--just do something automatically on update blah... 
      BEGIN ATOMIC                                         
         SET N.claim = ucase(O.claim);                     
      END           
于 2018-04-03T14:07:38.447 回答
0

我不相信 CDC 在其从 DBMS 日志数据编译的更改消息中捕获数据。它的主要目的是发出将数据从一个数据库复制到另一个数据库所需的最少命令数。如果您想保留数据的状态以便可以查询它,您需要在处理更改消息之前拍摄副本数据库的快照。

或者,对于 Db2,使用 Db2 10 中添加的临时表功能可能更容易,因为它允许您定义应该驱动快照的更改。然后,您可以使用时态 SQL 查询访问时态数据。

SELECT … FROM…period specification
于 2018-04-02T18:33:49.303 回答
0

wrt PowerExchange 9.1.0 & 9.6:

在快照数据无法通过 powerexchange for DB2 数据库处理之前。最近我从事一个迁移项目,我认为就像使用 SCN 编号的 Oracle CDC 一样,db2 应该有一些东西可以从任何需要的点启动记录器。但令我惊讶的是,Inforamtica 全球支持部门确认之前 PowerExchange 无法捕获快照数据。他们谈论物化和非物化目标,当时我不知道,后来我发现他们的意思是导出和导入历史数据。

即使您有启用 CDC 的表,也无法从 PWX 捕获快照之前的数据。

DB2 从 DB2 日志中读取捕获数据,这些数据具有操作标记,如 U/I/D,足以让 PowerExchange 继续进行。

于 2018-06-26T15:55:15.813 回答