在上篇在SSIS 2012中使用CDC(数据变更捕获) 中, 介绍了如何在SSIS 2012中使用CDC,本文在此基础上介绍,如何通过Attunity提供的 Change Data Capture Designer for Oracle 实现对Oracle数据表的变更捕获。同样需要做一些准备工作: 1、配置Oracle数据库为
在上篇在SSIS 2012中使用CDC(数据变更捕获)中,介绍了如何在SSIS 2012中使用CDC,本文在此基础上介绍,如何通过Attunity提供的Change Data Capture Designer for Oracle实现对Oracle数据表的变更捕获。同样需要做一些准备工作:
1、配置Oracle数据库为归档模式,并获取浏览日志的指定权限;
2、安装CDC Service Configuration and Designer 两个控制台。
在SQL Server的安装源ToolsAttunityCDCOraclex641033下有两个安装文件,32位对应的路径为X86,1033为英语,2052为简体中文。D:ToolsAttunityCDCOraclex641033AttunityOracleCdcDesigner.msi
D:ToolsAttunityCDCOraclex641033AttunityOracleCdcService.msi
D:ToolsAttunityCDCOraclex861033AttunityOracleCdcDesigner.msi
D:ToolsAttunityCDCOraclex861033AttunityOracleCdcService.msi
安装的具体方法,请参考:
http://social.technet.microsoft.com/wiki/contents/articles/7647.installing-microsoft-sql-server-2012-change-data-capture-for-oracle-by-attunity.aspx
双击MSI即可安装,默认安装路径,64位在这里:C:Program FilesChange Data Capture for Oracle by Attunity
如果没有安装源,可以在官网下载:http://www.microsoft.com/en-us/download/details.aspx?id=35580
注意:如果您的SQL Server 2012是64位,必须选择64位安装源,而如果你用的Oracle客户端是32位,那么麻烦在后面,呵呵。
正面相对就比较简单了,两步即可:
第一步:配置 CDC for Oracle 服务
在开始-Attunity Change Data Capture for Oracle>CDC Service Configuration,打开服务配置控制台:
prepare 一个本地的SQL Server实例,用于记录远程Oracle表的变化,如果你没有先Prepare数据库,系统会相当人性化的给出提示,完成后也是如此。
配置服务比较简单,最终如下图,注意:最后一行的Master Key用于加密存储的Oracle凭证。
至此,第一步服务配置完成,简单,是不?
第二步:设计 CDC for Oracle
在开始-Attunity Change Data Capture for Oracle>CDC Designer Configuration,打开设计配置控制台:
创建一个新实例,首先创建一个CDC Database名称为Oracle_CDC,这个位于SQL Server端,运行它即可。
下来,连接Oracle Source
出现上述情况,是因为我别的应用程序需要安装了一个Oracle 32位客户端,于是,悲剧出现了。
补救措施:安装一个绿色的Oracle 64位客户端:http://www.oracle.com/technetwork/topics/winx64soft-089540.html
下载,直接解压即可,本文中的Path路径有两个:
E:Ora11product11.2.0dbhome_1bin;(Path路径中原32位客户端安装版路径)
E:Ora11Client12;E:Ora11product11.2.0dbhome_1bin;(Path路径中现64位客户端绿色版路径,修改后)
然后重新在上述界面“Test connection”,成功!
你可以提前在Oracle中新建一个表,用于测试:
<pre class="brush:php;toolbar:false">/* -- ============================================= -- 修改Oracle属性 ---Generate By downmoon(邀月),3w@live.cn -- ============================================= */-- Create tableCreate table CDCTest01( TCode VARCHAR2(20) primary Key, TName VARCHAR2(500));Insert into CDCTest01select '1','阳顶天' from dualunion allselect '2','张三丰' from dual;
创建后,你可以在后面一步,选中要捕获的表:
执行关于表的一些必要操作:
如果你没有做本文前的准备工作,将会收到如下错误:
补救措施后,如下:
下一步,设计完成。
你可以试着启动一下这个windows服务,十之八九第一次会收到这个错误:
其实,这是因为本机配置的64位客户端在注册表中存错了位置,修改为64位绿色客户端位置即可,原值为32位安装版的路径。
[HKEY_LOCAL_MACHINE\SOFTWARE\Oracle]
"Oracle_Home"="E:\\Ora11\\Client12"
修改后无需重启,重新Start服务,OK
我们添加两个语句测试一下:
/* -- ============================================= -- 创建测试数据 ---Generate By downmoon(邀月),3w@live.cn -- ============================================= */ Insert into CDCTest01 select '3','金毛狮王' from dual; update CDCTest01 set TName='觉远' where TCode='1';
SQL Server端自动生成的表:
感谢您的阅读,希望对你有所帮助!
本文参考:
http://www.attunity.com/products/attunity-cdc-ssis/oracle-cdc-for-ssis
http://www.microsoft.com/en-us/download/confirmation.aspx?id=35580
http://msdn.microsoft.com/zh-cn/library/dn175414%28v=sql.120%29.aspx
http://www.oracle.com/technetwork/topics/winx64soft-089540.html
http://technet.microsoft.com/en-us/library/ee470675%28v=sql.100%29.aspx
http://blogs.msdn.com/b/mattm/archive/2012/03/26/cdc-for-oracle-in-sql-server-2012.aspx
http://www.attunity.com/forums/microsoft-ssis-oracle-connector/error-failed-load-oci-dll-1308.html
助人等于自助! 3w@live.cn

InnoDB使用redologs和undologs确保数据一致性和可靠性。1.redologs记录数据页修改,确保崩溃恢复和事务持久性。2.undologs记录数据原始值,支持事务回滚和MVCC。

EXPLAIN命令的关键指标包括type、key、rows和Extra。1)type反映查询的访问类型,值越高效率越高,如const优于ALL。2)key显示使用的索引,NULL表示无索引。3)rows预估扫描行数,影响查询性能。4)Extra提供额外信息,如Usingfilesort提示需要优化。

Usingtemporary在MySQL查询中表示需要创建临时表,常见于使用DISTINCT、GROUPBY或非索引列的ORDERBY。可以通过优化索引和重写查询避免其出现,提升查询性能。具体来说,Usingtemporary出现在EXPLAIN输出中时,意味着MySQL需要创建临时表来处理查询。这通常发生在以下情况:1)使用DISTINCT或GROUPBY时进行去重或分组;2)ORDERBY包含非索引列时进行排序;3)使用复杂的子查询或联接操作。优化方法包括:1)为ORDERBY和GROUPB

MySQL/InnoDB支持四种事务隔离级别:ReadUncommitted、ReadCommitted、RepeatableRead和Serializable。1.ReadUncommitted允许读取未提交数据,可能导致脏读。2.ReadCommitted避免脏读,但可能发生不可重复读。3.RepeatableRead是默认级别,避免脏读和不可重复读,但可能发生幻读。4.Serializable避免所有并发问题,但降低并发性。选择合适的隔离级别需平衡数据一致性和性能需求。

MySQL适合Web应用和内容管理系统,因其开源、高性能和易用性而受欢迎。1)与PostgreSQL相比,MySQL在简单查询和高并发读操作上表现更好。2)相较Oracle,MySQL因开源和低成本更受中小企业青睐。3)对比MicrosoftSQLServer,MySQL更适合跨平台应用。4)与MongoDB不同,MySQL更适用于结构化数据和事务处理。

MySQL索引基数对查询性能有显着影响:1.高基数索引能更有效地缩小数据范围,提高查询效率;2.低基数索引可能导致全表扫描,降低查询性能;3.在联合索引中,应将高基数列放在前面以优化查询。

MySQL学习路径包括基础知识、核心概念、使用示例和优化技巧。1)了解表、行、列、SQL查询等基础概念。2)学习MySQL的定义、工作原理和优势。3)掌握基本CRUD操作和高级用法,如索引和存储过程。4)熟悉常见错误调试和性能优化建议,如合理使用索引和优化查询。通过这些步骤,你将全面掌握MySQL的使用和优化。

MySQL在现实世界的应用包括基础数据库设计和复杂查询优化。1)基本用法:用于存储和管理用户数据,如插入、查询、更新和删除用户信息。2)高级用法:处理复杂业务逻辑,如电子商务平台的订单和库存管理。3)性能优化:通过合理使用索引、分区表和查询缓存来提升性能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

WebStorm Mac版
好用的JavaScript开发工具

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver Mac版
视觉化网页开发工具