登录注册
上海交通大学论坛 > 数据库 > 浏览当前帖子 手机版 关闭左侧栏
在异构环境中数据库复制技术的实现方法
返回本版】  【发表帖子】  【回复帖子 浏览量  4360      回帖数 0
wzalanyao    等级  

楼主 发表于  2011/9/19 18:58:07    编 辑   


华中理工大学电力技术研究所 
沈宇亮 
---- 在企业级的网络环境中,异种操作系统同时并存的现象越来越普遍地存在, 
在部 
门级服务器中采用微软的NT服务器,企业的总服务器采用unix服务器。在许多系 
统集成 
的方案与实施中屡见不鲜,在不同操作系统之间运行的数据库内容的共享是一个 
普遍令 
人关心的问题。在这里介绍各大数据库均使用的复制技术实现数据向中心汇集, 
并可方 
便地实现集中式备份。实现的实例是SQL SERVER 6.5向SYBASE 11.9.2 for SCO 
unix复 
制。 
---- 1. 操作环境介绍 
---- 1) NT 4.0中文版 SP4 
服务器名:dls 
     SQL SERVER 6.5 
数据库  pubs,  comm 
  SYBASE OPEN CLIENT 11.9.2 
---- 2) SCO unix 5.03 
服务器名: jc 
Sybase  11.9.2  for  SCO unix 
数据库  pubs2 
---- 3) 网络间的通讯协议: TCP/IP 
---- 2. 复制拓朴 (图略) 
person的表结构 
CREATE  TABLE  dbo.person( 
Id  int  NOT  NULL, 
Name  Varchar(10)  NOT NULL, 
CONSTRAINT  PK_person  PRIMARY KEY  CLUSTERED( id ) 

---- 3. 复制的操作步骤 
---- 1) 以管理员身份的用户启动MSSQL SERVER 及 SQL EXCUTIVE 服务。 
---- 2) 使用SQL Enterprise Manager/Replication Configureation / insta 
ll 
publishing制作分发数据库distribution,实验时取数据设备为15M,日志设备为 
5M。 
---- 3) 在NT上使用Sybase Central建立一个名为Sybase的服务器,用于联接u 
nix服 
务器上的SQL SERVER并调通。 
---- 4) 在NT服务器上使用第三步建立的服务器建立一个名为Sybase的ODBC 数 
据源用 
来联接unix服务器。 
---- 5) 使用SQL Enterprise Manager/Replication Configuration/Publish设 
置 
pubs为出版数据库,并设置两个订阅服务器,一个为dls,另一个为ODBC Subscr 
iber, 
选择已定义好的sybase数据源,并提供登录用户及登录密码。 
---- 6) 使用SQL Enterprise Manager/Replication Configuration/Subscrib 
e设置 
本地的COMM库为订阅数据库。 
---- 7) 设置完后NT显示的复制拓朴图如下所示:(图略) 
---- 8)设置向本机复制使用的出版物pub_nt其中包括一篇出版文章为person 
---- 9) 以同样的方法设置向unix服务器的复制使用的出版物pub_unix,注意进 
行设置 
时Synchronization选项卡中的initial Synchronizaton的method 为Bulk Data 
Copy – Character Format ( Compatibility ) 
---- 10)把pub_nt的内容发向dls的comm数据库,同步的类型可以选为手工同步, 
自动 
同步或不同步中的任意一种。 
---- 11)把pub_unix的内容发向sybase服务器的pubs2数据库,同步的方法只能设 
为不 
同步(No Data Synchronization ) 
---- 12)向NT的pubs数据库中插入三行数据。 
 Insert  person  values(  1,  ‘a’  ) 
 Insert  person  values(  2,  ‘b’  ) 
 Insert  person  values(  3,  ‘c’  ) 
---- 13)查看NT的distribution库中msjob_commands表内容,发现SQL SERVER 
日志读 
任务可以完整地记录下对数据库的操作。列表如下: 
publisher_id publisher_db  job_id 
command_id art_id   incomplete     command 
------------ -------------- --------------------- 
0    pubs     14           1       6 
0    insert into "person" values (1, 'a') 
0    pubs     14           2       7 
0    insert into "person" values (1, 'a') 
0    pubs     15           1       6 
0    insert into "person" values (2, 'b') 
0    pubs     15           2       7 
0    insert into "person" values (2, 'b') 
0    pubs     16           1       6 
0    insert into "person" values (3, 'c') 
0    pubs     16           2       7 
0    insert into "person" values (3, 'c') 
---- 14)查看二个目的数据库中的person表,看新插入的记录是否成功地把表内 
容复制 
到目的表中,如没有则需要看分发任务(任务类型为distribution)的执行情况 
。依据 
错误提示进行修改。常见的操作可能是服务器未联上或延时错误等。 
1
表情
所有内容均为会员自愿发表,并不代表本站立场.
论坛帮助 会员认证删帖申请 联系我们