IBM DB2和IBM IMS变更数据捕获功能

时间:2018-04-02 12:42:41

标签: db2 cdc informatica-powerexchange ims-db

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

注意:

  1. 我们应该通过Informatica PowerExchange检索这些值并处理并推送到目标。
  2. 截至目前,我们需要知道我们是否能够在快照之前和从IBM DB2和IBM IMS(.OLD和.NEW之后,如在Oracle触发器中)检索快照值之前检索 - 不是一个完全相似的示例,但仅提到作为一个例子来理解)
  3. 非常感谢任何帮助,谢谢。

3 个答案:

答案 0 :(得分:0)

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

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

SELECT … FROM…period specification

答案 1 :(得分: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           

答案 2 :(得分:0)

使用PowerExchange 9.1.0和9.6:

在无法通过powerexchange for DB2数据库处理快照数据之前。最近,我从事一个迁移项目,我认为像使用SCN编号的Oracle CDC一样,db2应该有某种东西可以从任何所需的位置启动记录器。但是令我惊讶的是,Inforamtica的全球支持确认了PowerExchange无法捕获快照数据。 他们谈论的是实现和取消实现目标,当时我不了解这些目标,后来我发现它们意味着要导出和导入历史数据。

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

DB2从DB2日志中读取捕获数据,该数据具有U / I / D之类的操作标记,足以使PowerExchange继续进行。