精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● 数据库技术>>数据库管理员>>在异构环境中数据库复制技术的实现方法

主题:在异构环境中数据库复制技术的实现方法
发信人: [email protected]()
整理人: chedong(1999-07-15 20:46:18), 站内信件

华中理工大学电力技术研究所
沈宇亮
---- 在企业级的网络环境中,异种操作系统同时并存的现象越来越普遍地存在,
在部
门级服务器中采用微软的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)的执行情况
。依据
错误提示进行修改。常见的操作可能是服务器未联上或延时错误等。


--
如果你觉得可笑的话,那么你错了
如果你觉得不可笑的话,那么我错了。

※ 来源:.网易虚拟社区北京站 http://bj.netease.com.[FROM: 202.96.31.244]

[关闭][返回]