在SQL Server 2012中实现CDC for Oracle

在上篇在SSIS 2012中使用CDC(数据变更捕获)中,介绍了怎样在SSIS 2012中使用CDC,本文在此基础上介绍。怎样通过Attunity提供的Change Data Capture Designer for Oracle实现对Oracle数据表的变更捕获。

相同须要做一些准备工作:

1、配置Oracle数据库为归档模式。并获取浏览日志的指定权限。

/* -- =============================================
-- 改动Oracle属性
---Generate By downmoon(邀月),[email protected]
-- ============================================= */
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
ALTER DATABASE ARCHIVELOG;

2、安装CDC Service Configuration and Designer 两个控制台。

在SQL Server的安装源\Tools\AttunityCDCOracle\x64\1033下有两个安装文件,32位相应的路径为X86,1033为英语,2052为中文简体。

D:\Tools\AttunityCDCOracle\x64\1033\AttunityOracleCdcDesigner.msi
D:\Tools\AttunityCDCOracle\x64\1033\AttunityOracleCdcService.msi
D:\Tools\AttunityCDCOracle\x86\1033\AttunityOracleCdcDesigner.msi
D:\Tools\AttunityCDCOracle\x86\1033\AttunityOracleCdcService.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 Files\Change Data Capture for Oracle by Attunity

假设没有安装源。能够在官网下载:http://www.microsoft.com/en-us/download/details.aspx?id=35580

注意:假设您的SQL Server 2012是64位,必须选择64位安装源,而假设你用的Oracleclient是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位client,于是,悲剧出现了。

补救措施:安装一个绿色的Oracle 64位client:http://www.oracle.com/technetwork/topics/winx64soft-089540.html

下载,直接解压就可以,本文中的Path路径有两个:

E:\Ora11\product\11.2.0\dbhome_1\bin;(Path路径中原32位client安装版路径)
E:\Ora11\Client12;E:\Ora11\product\11.2.0\dbhome_1\bin;(Path路径中现64位client绿色版路径,改动后)

然后又一次在上述界面“Test connection”,成功!

你能够提前在Oracle中新建一个表,用于測试:

/* -- =============================================
-- 改动Oracle属性
---Generate By downmoon(邀月),[email protected]
-- ============================================= */

-- Create tableCreate table CDCTest01( TCode VARCHAR2(20) primary Key, TName VARCHAR2(500));Insert into CDCTest01select ‘1‘,‘阳顶天‘ from dualunion allselect ‘2‘,‘张三丰‘ from dual;

创建后。你能够在后面一步,选中要捕获的表:

执行关于表的一些必要操作:

假设你没有做本文前的准备工作。将会收到例如以下错误:

补救措施后,例如以下:

下一步,设计完毕。

你能够试着启动一下这个windows服务,十之八九第一次会收到这个错误:

事实上,这是由于本机配置的64位client在注冊表中存错了位置,改动为64位绿色client位置就可以。原值为32位安装版的路径。

[HKEY_LOCAL_MACHINE\SOFTWARE\Oracle]
"Oracle_Home"="E:\\Ora11\\Client12"

改动后无需重新启动,又一次Start服务,OK

我们加入两个语句測试一下:

/* -- =============================================
-- 创建測试数据
---Generate By downmoon(邀月),[email protected]e.cn
-- ============================================= */

Insert into CDCTest01 select ‘3‘,‘金毛狮王‘ from dual;
update CDCTest01 set TName=‘觉远‘ where TCode=‘1‘;

psid=1" alt="邀月工作室" height="417" width="726" />

SQL Server端自己主动生成的表:

感谢您的阅读。希望对你有所帮助。

本文參考:

id=35580%20%20http://msdn.microsoft.com/zh-cn/library/dn175414%28v=sql.120%29.aspx%20%20http://www.oracle.com/technetwork/topics/winx64soft-089540.html%20%20http://technet.microsoft.com/en-us/library/ee470675%28v=sql.100%29.aspx%20http://blogs.msdn.com/b/mattm/archive/2012/03/26/cdc-for-oracle-in-sql-server-2012.aspx%20%20%20http://www.attunity.com/forums/microsoft-ssis-oracle-connector/error-failed-load-oci-dll-1308.html">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


邀月注:本文版权由邀月和CSDN共同全部。转载请注明出处。
助人等于自助!   [email protected]

时间: 2024-10-04 01:58:54

在SQL Server 2012中实现CDC for Oracle的相关文章

SQL Server 2012中快速插入批量数据的示例及疑惑

SQL Server 2008中SQL应用系列--目录索引 今天在做一个案例演示时,在SQL Server 2012中使用Insert语句插入1万条数据,结果遇到了一个奇怪的现象,现将过程分享出来,以供有兴趣的同学参考. 附:我的测试环境为:SQL Server 2012,命名实例 Microsoft SQL Server 2012 - 11.0.2100.60 (Intel X86) Feb 10 2012 19:13:17 Copyright (c) Microsoft Corporatio

在SQL Server 2012中新建用户

一.问题描述 在最开始装SQL Server 2012时我选择的是Windows身份认证方式,现在想添加一个用户采用SQL Server身份验证. 二.具体思路 1.新建用户 2.将新建的用户添加到相应的数据库用户列表中 3.配置用户权限 4.更改服务器身份验证方式 三.解决过程 1.单击鼠标右键,选择新建登录名 2.将新建的用户添加到相应的数据库用户列表中 2.1修改用户名.密码.认证方式 2.1修改用户映射 2.3修改状态 3.配置用户权限 4.更改服务器身份验证方式

SQL Server 2012中的AlwaysOn尝试

简介 SQL Server2012中新增的AlwaysOn是一个新增高可用性解决方案.在AlwaysOn之前,SQL Server已经有的高可用性和数据恢复方案,比如数据库镜像,日志传送和故障转移集群.都有其自身的局限性.而AlwaysOn作为微软新推出的解决方案,提取了数据库镜像和故障转移集群的优点.本文旨在通过实现一个AlwaysOn的实例来展现AlwaysOn. 配置AlwaysOn 虽然AlwaysOn相比较之前版本的故障转移集群而言,步骤已经简化了许多.但配置AlwaysOn依然是一件

在SQL Server 2012中,对存在ColumnStore Index的Table进行查询,出现WaitType:HTMEMO 和 HTBUILD

DW中有两个表,LittleTable和BigTable,BigTable上创建了Nonclustered ColumnStore Index,对着两个表进行查询,如下面的Scirpt.在查询时,出现WaitType:HTMEMO 和 HTBUILD,查询速度极其慢,十几个小时都不能出结果. select a few columns,,, from dbo.LittleTable lt with(nolock) inner join dbo.BitTable bt with(nolock) on

在SSIS 2012中使用CDC(数据变更捕获)

最新项目稍有空隙,开始研究SQL Server 2012和2014的一些BI特性,参照(Matt)的一个示例,我们开始体验SSIS中的CDC(Change Data Capture,变更数据捕获). 注:如果需要了解关于SQL Server 2008中的CDC,请看这里http://www.cnblogs.com/downmoon/archive/2012/04/10/2439462.html),本文假定读者对CDC的工作方式已有所了解.^_^. 我们分三步完成实例: 1.准备基础数据: 2.设

SQL Server 2012 Managed Service Account

原创地址:http://www.cnblogs.com/jfzhu/p/4007472.html 转载请注明出处 (一)Windows服务使用的登陆帐号 Windows服务只有登录到某一帐户的情况下才能访问操作系统中的资源和对象.服务一般不要更改默认的登录帐户,否则可能导致服务失败.如果选定帐户没有足够的权限,Microsoft 管理控制台(MMC)的服务管理单元将自动为该帐户授予登录所管理计算机中服务的用户权限.Windows Server 的服务可以用域帐户或者三个内置的本地帐户作为各系统服

SQL Server 2012笔记分享-7:高可用性功能的增强

(一)数据库镜像 1.支持压缩传输 2.支持自动页修复(msdb..suspect_pages) (二)数据库群集     1.支持多子网 SQL Server 多子网故障转移群集是一种配置,其中每个故障转移群集节点都连接到其他子网或其他子网组.这些子网可以处于同一位置中,也可以位于地理上分散的站点. 跨地理上分散的站点进行群集有时称为拉伸群集. 因为没有所有节点都可以访问的共享存储,所以在多个子网上的数据存储之间应该复制数据. 对于数据复制,有多个可用数据的副本. 因此,多子网故障转移群集除了

SQL Server 2012笔记分享-9:理解列存储索引

优点和使用场景 SQL Server 内存中列存储索引通过使用基于列的数据存储和基于列的查询处理来存储和管理数据. 列存储索引适合于主要执行大容量加载和只读查询的数据仓库工作负荷. 与传统面向行的存储方式相比,使用列存储索引存档可最多提高 10 倍查询性能,与使用非压缩数据大小相比,可提供多达 7 倍数据压缩率. SQL 2012和SQL 2014列存储索引的比较 在SQL server 2012中,一旦启用了列存储索引,将不能够对已启用列存储索引的数据存储执行变更写入操作,也就是说列存储索引适

安装 SQL Server 2012 的硬件和软件要求(官方全面)

以下各节列出了安装和运行 SQL Server 2012 的最低硬件和软件要求. Hardware and Software Requirements (PowerPivot for SharePoint and Reporting Services in SharePoint Mode).' data-guid="ac62f277a77cf0fe4624123fb93d4313">有关 SharePoint 集成模式下 Analysis Services 的要求的详细信息,请参