2008年7月19日星期六

Sybase复制服务器应用实例

国家气象中心 应显勋 赵芳 刘小魏 中国民航北京气象中心 张宏泰
在《计算机世界》8月31日第33期软件版"驾驭气象风云"一文中,我们介绍了Sybase
复制服务器在民航气象情报数据库系统中应用,本文给出一个复制服务器应用的实例。这
是一个模拟中国民航航空气象情报数据库中某气象中心向本中心其他地点和机场等三个
点进行一张表的复制的过程,同时主点表是一个空表,复制服务器也是首次定义。
配置说明
   机器名   SQL Server名 Replication Server名 LTM名
主点 Server1000 BMCSDB    BMCSDB_REP      BMCSDB_caacdb_ltm
从点 Server A  BMCS_001   无          无
从点 Server B  BMCS_002   无          无
从点 SCO Unix  SCO_SYBASE  无          无
这四台计算机连在一个局域网上。
启动主点和从点进程
S主点启动的进程:
进程名 : SQL Server 进程
启动命令: $SYBASE/install/startserver -f RUN_BMCSDB
进程名 : Replication Server 进程
启动命令: $SYBASE/install/startserver -f RUN_BMCSDB_REP
进程名 : LTM 进程
启动命令: $SYBASE/install/startserver -f RUN_BMCSDB_caacdb_ltm
S从点(Server A)启动的进程:
进程名 : SQL Server 进程
启动命令: $SYBASE/install/startserver -f RUN_BMCS_001
S 从点(Server B)启动的进程:
进程名 : SQL Server 进程
启动命令: $SYBASE/install/startserver -f RUN_BMCS_002
S 从点(SCO Unix)启动的进程:
进程名 : SQL Server 进程
启动命令: $SYBASE/install/startserver -f RUN_SCO_SYBASE
在主点加载复制定义和约定
1. 在主点(BMCSDB)中生成文件BMCSDB.sql, 用于对主点用户数据库(caacdb)中的表
(这里定为报告表REPO01_REP)设置复制标志。
BMCSDB.sql文件的内容如下:
use caacdb
go
sp_setreplicate REPO01_REP,true
go
grant all on REPO01_REP to public
go
在主点的SQL Server上加载此文件, 命令为:
isql-Usa-Pxxxxxx-SBMCSDB 2. 在主点(或从点)中生成文件BMCS_001.sql,用于对从点(BMCS_001)用户数据库(c
aacdb1)中的表(这里定义为报告表REPO01_REP)设置复制标志。
BMCS_001.sql文件的内容如下:
use caacdb1
go
grant all on REPO01_REP to public
go
在从点的SQL Server上加载此文件,命令为:
isql-Usa-Pxxxxxx-SBMCS_001 3. 在主点(或从点)中生成文件BMCS_002.sql,用于对从点(BMCS_002)用户数据库(c
aacdb2)中的表(这里定为报告表REPO01_REP)设置复制标志。
BMCS_002.sql文件的内容如下:
use caacdb2
go
grant all on REPO01_REP to public
go
在从点的SQL Server上加载此文件,命令为:
isql-Usa-Pxxxxxx-SBMCS_002 4. 在主点(或从点)中生成文件SCO_SYBASE.sql,用于对从点(SCO_SYBASE)用户数据
库(caacdb)中的表(这里定为报告表REPO01_REP)设置复制标志。SCO_SYBASE.sql文件的
内容如下:
use caacdb
go
grant all on REPO01_REP to public
go
在从点的SQL Server上加载此文件,命令为:
isql-Usa-Pxxxxxx-SSCO_SYBASE 5. 在主点(BMCSDB)中生成文件BMCSDB_REF.sql,用于对主点复制服务器(BMCSDB_RE
P)进行复制定义和约定。
create replication definition REPO01_REP
with primary at BMCSDB.caacdb
with all tables named REPO01_REP
(TYPE char(2),
CCC
char(5),
ODATE char(8),
OTIME char(4),
RTIME char(12),
RP1
varchar(255),
RP2
varchar(255),
RP3
varchar(255),
RP4
varchar(255))
primary key(TYPE,CCC,OTIME)
go
create subscription REPO01_sub1
for REPO01_REP
with replicate at BMCS_001.caacdb1
go
create subscription REPO01_sub2
for REPO01_REP
with replicate at BMCS_002.caacdb2
go
create subscription REPO01_sub3
for REPO01_REP
with replicate at SCO_SYBASE.caacdb
go
在主点的Replication Server上加载此文件,命令为:
isql-Usa-Pxxxxxx-SBMCSDB_REP 上述对主从点的配置完成后,可在主点的用户数据库中对REPO01_REP表插入一条记录
。从各个从点的观察结果来看,复制工作成功进行。

没有评论: