设为首页 收藏本站
查看: 1835|回复: 0

[经验分享] Sql server2000 到oracle 的数据库同步(快照形式)

[复制链接]

尚未签到

发表于 2016-8-5 06:38:35 | 显示全部楼层 |阅读模式
   
Sql server2000 到oracle 的数据库同步(快照形式)(部分质料收集自网页,测试成功)  

----------------------------------------------------------------------------------------------------------------------------------------------
     利用sql server的复制技术和oracle的odbc数据源我们可以实现数据库的同步,下面是一个从sql server到oracle数据同步的单向实现。
----------------------------------------------------------------------------------------------------------------------------------------------
首先安装sql server2000数据库和oracle<chmetcnv tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="10" unitname="g" w:st="on">10g</chmetcnv>数据库,在一般情况下数据库建好以后,在企业管理器里看到的sql注册是(local)(windows NT)
Sql server复制技术不支持昵称,例如使用“(local)”作为服务器名。因此我们需要这个服务的sql server注册,创建新的服务器就行注册。
步骤一:
        先删除这个名为local的sql server注册,然后右击sql server组,新建sql server注册---》下一步,在可用的服务器的文本框会自动显示你的计算机名称我这是qb(在这里也可以在客户端网络使用工具失眠配置计算机的别名也可以实现这一步),点击添加,添加到“添加的服务器里”--一直下一步就好了。步骤二:
       在要发布的数据库里面创建要发布的测试表。
单击刚刚以计算机名建好的sql server 注册,以选中它--》工具--》复制--》配置发布、订阅服务器和分发---》一直下一步到选择快照文件夹路径“\\qb\c$\Program Files\Microsoft SQL Server\MSSQL\ReplData”使用特殊的共享名称,该名称通常只能由在计算机“SEOGIRL”上有管理权限的登录访问。此共享可能不能由在其它计算机上运行的代理程序访问,例如请求订阅的代理程序。点击下一步到有提示确实要使用此快照文件夹路径吗?这一步要选择否;我们需要手动建一个问价夹:例如在C盘根目录下:建一个c:\ReplData,在这个文件夹的属性里设置共享此文件夹,然后返回咱们刚才的快照文件夹,在里边选择刚建的文件夹目录--》下一步--》下一步--》完成--》关闭  

步骤三:配置发布和分发服务器和订阅服务器:  

点击‘数据库’然后在菜单里面选择---工具----复制----》配置发布和分发服务器和订阅服务器,在这之前我们要配置oracle数据源。  

首先我们要在oraclenet congigure assistant里面配置连接,  

DSC0000.gif <shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype>  

 选择第三项下一步:
       
服务器名称就是你的oracle数据接口名称---下一步》主机名就选你要连接的oracle的主机地址,要是本机的话就是loaclhost,要是吉他主机的话直接输入ip就可以了。然后一直下一步完成;接下来在控制面板里面---选择管理工具---数据源(odbc)选择系统dns
DSC0001.gif    

 点击添加:
DSC0002.gif
  
   
选择mircosoft odbc for oracle确定后就是输入相关你的oracle数据库的信息:

DSC0003.gif

   
       输入相关信息
       然后确定;关闭
    返回到:sql server-工具----复制----》配置发布和分发服务器和订阅服务器,  

DSC0004.gif   

      选择发布服务器---》新建  

DSC0005.gif
  

   
     输入你的发布服务器名称就是一开始新建的那个服务器注册名----》点击使用windows身份验证----》确定  

    接下点击发布数据库选择要发布的数据库
接下来点击订阅服务器----》点击新建---》点击ole db数据源—确定---》点击添加  


DSC0006.gif
   

在第一个文本框输入你的oracle连接数据库名称
服务器类型选择其他数据库---》选择mircosofe ole db provider oracle,产品名称可以不输入,
数据库源就是我们刚刚配置的那个
提供程序字符串要按照:UID=username;PWD=password输入就可以点击确定。
接下来选择 工具---》复制—》创建和管理发布---》选择要发布的数据库点击创建发布—》
一直点击到
DSC0007.gif

我在这用的是快照发布---点击下一步—》 DSC0008.gif

  
我们要用oeacle来订阅所以选择第三项:
下一步选择要发布的数据库表:然后一直点击到完成;
步骤四:
在发布内容里面的发布项里面点击右键选择强制订阅项:
DSC0009.gif

   
         下一步:
     选择启动的oracle订阅服务器:
    下一步一直点击到完成这样就创建了oracle对sqlserver相关表的订阅
步骤5
     在发布内容项里面点击右键:属性:选择状态:点击代理程序属性—》-选择调度—》编辑—》更改—》选择同步代理程序的发生周期我这选的是1分钟,也就是每隔一分钟代理程序就会启动来同步sqlsever发布的表的数据到oracle数据库里面;如果成功的话你会在你的oracle数据库里面发现一面已经多了一张你在sqlserver里面建立的测试表;数据也一致,有兴趣的可以研究下。
-------------------------------------
        当然我么在使用的时候可以选择增量的方式来建立这种同步事务,这样在源数据没有事务发生的情况下,代理程序就不会启动,就会处于空闲状态,当源数据有事务发生,比如添加或删除一条记录,这个发布服务器就会启动代理程序来同步这种事务到目标数据库里面。这应该是比较理想的做法。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-252990-1-1.html 上篇帖子: Oracle创建用户、表空间、导入导出 删除命令 下篇帖子: ORACLE 存储过程不能用truncate table xxx解决方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表