- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
需求说明:
在PC SERVER 上本机的ORACLE数据库上以SH用户的CHANNELS表为数据源,CHANNELS表的增量抽取(insert,delete,update)结果生成在TGT_WH用户的TGT_CHANNELS表。
步骤:
1.编辑模块 ORACLE_SH 的日记记录属性。将日记记录模式修改为一致性设置。然后选择 KM_JKM Oracle 10g Consistent (LOGMINER).Training_Project。其中 ASYNCHRONOUS_MODE 表示异步捕获变化数据,AUTO_CONFIGURATION 表示自动配置 Oracle 数据库:
2. 配置 Oracle 数据库: 启用 ARCHIVELOG;
要使用Logminer CDC,数据库必须使用 ARCHIVELOG 模式。请按下面的步骤进行配置(配置之前请先退出 ODI):
sqlplus / as sysdba
shutdown immediate
startup amount
alter database archivelog;
alter database open;
3.给SH用户授权
要创建 CDC 的变化集和变化表,并进行发布订阅需要较高的系统权限,所以需要给数据源用户进行授权:
sqlplus / as sysdba
GRANT CONNECT, RESOURCE TO SH;
GRANT SELECT ON CHANGE_SETS TO SH;
GRANT CREATE SESSION TO SH;
GRANT CREATE TABLE TO SH;
GRANT CREATE TABLESPACE TO SH;
GRANT UNLIMITED TABLESPACE TO SH;
GRANT SELECT_CATALOG_ROLE TO SH;
GRANT EXECUTE_CATALOG_ROLE TO SH;
GRANT CREATE SEQUENCE TO SH;
GRANT DBA TO SH;
GRANT EXECUTE on DBMS_CDC_PUBLISH TO SH;
EXECUTE DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(GRANTEE = SH);
4. 通过ODI的Logminer CDC在SH.CHANNELS设置完成
首先,将模型oracle_sh添加到CDC(也可指定某张表):
在选择订阅:
在弹出的窗口输入订阅用户:
点击确定完成订阅。这会启动一个会话。请在 Operator 中检查会话完成情况。
接下来从模型 ORACLE_SH的弹出菜单中选择启动日记:
确定启动日志后,会启动一个会话。这个会话将为oracle_sh模型下的所有表创建临时表,以J$开头.其作用是记录对表中的哪条记录进行DDL操作.
5. 后台对SH. CHANNELS表手工插入2条测试记录
SH用户的CHANNELS是空表:
手工插入2条数据:
TGT_WH用户的TGT_CHANNELS表还是为空:
到oracle_sh模型的里CHANNELS表查看捕获记录:
6. 创建接口SPL_CDC_Channel_Int:
7.创建包CDC_ORACLE_SH_Pkg并执行:
8. 查询TGT_WH.TGT_CHANNELS表, 新加的2条测试记录,已经增量抽取到目标表中.
TGT_WH.TGT_CHANNELS表:
(1)DELETE一条CHANNEL_ID =1的记录:
在临时表j$channels 里查看记录:
执行包CDC_ORACLE_SH_Pkg,在到TGT_WH用户的TGT_CHANNELS表查看数据:
(2)将CHANNEL_ID =2这条记录中CHANNEL_DESC=’aa’UPDATE为CHANNEL_DESC=TEST:
查看临时表j$channels:
执行包CDC_ORACLE_SH_Pkg,在到TGT_WH用户的TGT_CHANNELS表查看数据:
文档评论(0)