zoukankan      html  css  js  c++  java
  • 在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(邀月),3w@live.cn 
    -- ============================================= */
    ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
    ALTER DATABASE ARCHIVELOG;

    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位安装源,而假设你用的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:Ora11product11.2.0dbhome_1in;(Path路径中原32位client安装版路径)
    E:Ora11Client12;E:Ora11product11.2.0dbhome_1in;(Path路径中现64位client绿色版路径,改动后)

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

    邀月工作室

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

    /* -- ============================================= 
    -- 改动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位client在注冊表中存错了位置,改动为64位绿色client位置就可以。原值为32位安装版的路径。

    [HKEY_LOCAL_MACHINESOFTWAREOracle]
    "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


    邀月注:本文版权由邀月和CSDN共同全部。转载请注明出处。
    助人等于自助!   3w@live.cn


  • 相关阅读:
    css变量
    es6的this指向
    Java面试题(包装类)
    moment笔记
    Class
    CSS斜切角
    Element.getBoundingClientRect()
    Do not mutate vuex store state outside mutation handlers.
    antd不想写那么多option怎么办
    解析URL参数
  • 原文地址:https://www.cnblogs.com/cynchanpin/p/7119475.html
Copyright © 2011-2022 走看看