四:Change Sets
Change Sets是改变数据的一个逻辑组,一个change sources可以包括一个或者多个change sets。但是有如下限制:1)在 Distributed HotLog change source 模式下,所有的 change sets必须在同一个staging数据库中。
2)一个AutoLog online change source 只能包含一个Change Sets。
当一个publisher包含了两个或者多个change table,那么subscribers可以对这些change table做JOIN操作。
publisher可以用DBMS_CDC_PUBLISH.CREATE_CHANGE_SET创建change_set.
下面列出了可用的组合的CHANGE SOURCE 和CHANGE SET 的方式:
五:Change Table
一个给定的change table可以存储给定源表中通过DML语句改变的数据,它由两部分组成:第一部分:改变了的数据,第二部分:维护change table的必要的元数据。
publisher 必须指定change table中的COLUMN,这些COLUMN必须是subscribers需要的。比如:如果publisher 没有指定PRODUCE_ID这个COLUMN,那么subscribers就无法用这个维度做查询。
六:得到关于the Change Data Capture 的环境信息。
ORACLE 提供了一下静态数据字典视图。用户必须有SELECT_CATALOG_ROLE这个权限才可以访问以下视图。
为publisher 提供的视图有:
为subscribers提供的视图有:
七:publisher 发布数据以前需要做的准备:
1)捕获subscribers的需求。
2)决定在源数据库中包含哪些相关的表。
3)决定使用synchronous, asynchronous HotLog, asynchronous Distributed HotLog, or asynchronous AutoLog中的那种模式。
4)建立dblink
首先:创建一个作为publisher 的用户。这个publisher 用户不能用SYSTEM表空间作为默认表空间。因此publisher 不能是SYS或者SYSTEM用户。必须具有下面的权限:EXECUTE_CATALOG_ROLE ,SELECT_CATALOG_ROLE,CREATE TABLE,CREATE SESSION ,对DBMS_CDC_PUBLISH包的EXECUTE权限。
如果是Asynchronous HotLog, Distributed HotLog, AutoLog publishing 模式,由于需要使用ORACLE STREAMS,因此还需要CREATE SEQUENCE ,DBA 角色,详情可以查看Oracle Streams Concepts and Administration 。必须在resource database 和 staging database 设定REMOTE_LOGIN_PASSWORDFILE=SHARED 和使用ORAPWD FILE=orapw PASSWORD=mypassword ENTRIES=10 创建密钥文件。
5)设定初始化参数(对于各自模式的初始化参数设定,请查看ORACLE 帮助文档)
阅读(1259) | 评论(0) | 转发(0) |