请教一下,怎样能够查看到CDC是否在运行?如何查看CDC的操作模式?如何查看CDC的错误日志?谢谢。

解决方案 »

  1.   

    不知道什么是CDC 谷歌了一下
    http://oracle.chinaitlab.com/exploiture/39905.htmlOracle变化数据捕捉(Change Data Capture,CDC)特性简化了识别自上次提取后发生变化的数据的过程。CDC提供了易于使用的API来设置CDC环境。 如果你是参与数据集成项目的DBA或开发人员,需要定期从一个系统提取大量数据并将其传输到另一个系统或多个系统,那就赶快考虑使用CDC来缩短ETL的时间吧。本文将为你提供一种设置CDC环境的循序渐进的方法,概述设置CDC环境的先决条件,并讨论为你的应用程序设置CDC时需要掌握的API。概述CDC特性是在Oracle9i数据库中引入的。CDC能够帮助你识别从上次提取之后发生变化的数据。利用CDC,在对源表进行INSERT、UPDATE或DELETE等操作的同时就可以提取数据,并且变化的数据被保存在数据库的变化表中。这样就可以捕获发生变化的数据,然后利用数据库视图以一种可控的方式提供给目标系统。图 1 给出了CDC环境的基本体系结构。CDC建立订阅者视图来控制目标系统对变化数据的获取。目标系统是任何需要使用从源系统中捕获的数据的应用程序。发布者和订阅者CDC体系结构基于发布者/订阅者模型。发布者捕捉变化数据并提供给订阅者。订阅者使用从发布者那里获得的变化数据。通常,CDC系统拥有一个发布者和多个订阅者。发布者首先需要识别捕获变化数据所需的源表。然后,它捕捉变化的数据并将其保存在特别创建的变化表中。它还使订阅者能够控制对变化数据的访问。订阅者需要清楚自己感兴趣的是哪些变化数据。一个订阅者可能不会对发布者发布的所有数据都感兴趣。 订阅者需要创建一个订阅者视图来访问经发布者授权可以访问的变化数据。图1: 变化数据捕捉的体系结构设置CDC环境CDC特性是Oracle9i (及更高版本)数据库软件的一部分,你无需安装除Oracle9i外的任何其他软件就可以使用CDC。要使用Oracle9i 数据库的CDC特性,请按下述步骤进行:启用数据库中的Java功能(Java虚拟机,JVM)。有关配置Oracle JVM的详细说明,请参见《Oracle9i数据库Java开发人员指南》。当使用数据库配置助理(Database Configuration Assistant,DBCA)创建数据库时,你可以选择安装Oracle JVM。 
     启用系统触发器。当创建数据库时,系统触发器默认情况下是启用的。 
    一旦你的数据库做好了CDC准备,你就可以按照以下步骤设置CDC环境。1. 确定源表。
    2. 设置发布者。
    3. 创建变化表。
    4. 设置订阅者。
    5. 订阅源表并激活订阅过程。
    6. 设置CDC窗口。
    7. 准备订阅者视图。
    8. 访问变化表中的数据。
    9. 删除订阅者视图,并清除CDC窗口。
    10. 重复第6到第9步,以查看新数据。出于本文的目的,我将使用一个销售应用程序作为示例。源应用程序是记录关于每笔销售的信息的事务处理系统。该系统的表的计划所有者是SALES_OP。我设置一个基于销售运营数据的数据仓库。用户SALES_DW是数据仓库的所有者。我的CDC系统的目的是高效地将变化数据从事务处理系统(SALES_OP拥有的源表)传输到数据仓库系统(SALES_DW拥有的目标表)。 变化数据包括:  自上次提取后在源表中插入(INSERT)的数据; 
      自上次提取后在源表中更新(UPDATE)的数据; 
      自上次提取后从源表中删除的(DELETE)的数据。