登录注册
上海交通大学论坛 > 数据库 > 浏览当前帖子 手机版 关闭左侧栏
Sybase复制服务器应用实例
返回本版】  【发表帖子】  【回复帖子 浏览量  6110      回帖数 0
yinglian78    等级  

楼主 发表于  2012/4/26 18:22:01    编 辑   


   以下内容转载自《计算机世界》 

   本 文 给 出 一 个 复 制 服 务 器 应 用 的 实 例。 这 是 一 个 
模 拟 中 国 民 航 航 空 气 象 情 报 数 据 库 中 某 气 象 中 心 向 
本 中 心 其 他 地 点 和 机 场 等 三 个 点 进 行 一 张 表 的 复 制 
的 过 程, 同 时 主 点 表 是 一 个 空 表, 复 制 服 务 器 也 是 首 
次 定 义。  

     配 置 说 明  

        机 器 名    SQL Server 名  Replication Server 名  LTM 名  
 主 点    Server1000  BMCSDB       BMCSDB_REP        BMCSDB_caacdb_ltm 
 从 点    Server A    BMCS_001         无               无 
 从 点    Server B    BMCS_002         无               无 
 从 点    SCO Unix    SCO_SYBASE       无               无 

  这 四 台 计 算 机 连 在 一 个 局 域 网 上。  

启 动 主 点 和 从 点 进 程  

   主 点 启 动 的 进 程 

      进 程 名 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  

   从 点(Server A) 启 动 的 进 程 

      进 程 名 SQL Server 进 程  

      启 动 命 令$SYBASE/install/startserver -f RUN_BMCS_001  

   从 点(Server B) 启 动 的 进 程 

      进 程 名 SQL Server 进 程  

      启 动 命 令$SYBASE/install/startserver -f RUN_BMCS_002  

   从 点(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 < BMCSDB.sql  

      2. 在 主 点( 或 从 点) 中 生 成 文 件BMCS_001.sql, 用 于 对 从 点 
(BMCS_001) 用 户 数 据 库(caacdb1) 中 的 表( 这 里 定 义 为 报 告 表 
REPO01_REP) 设 置 复 制 标 志。  

      BMCS_001.sql 文 件 的 内 容 如 下 
      use caacdb1 
      go  
      grant all on REPO01_REP to public 
      go 

      在 从 点 的SQL Server 上 加 载 此 文 件, 命 令 为 

      isql -Usa -Pxxxxxx -SBMCS_001 < BMCS_001.sql  

      3. 在 主 点( 或 从 点) 中 生 成 文 件BMCS_002.sql, 用 于 对  
从 点(BMCS_002) 用 户 数 据 库(caacdb2) 中 的 表( 这 里 定 为 报  
告 表REPO01_REP) 设 置 复 制 标 志。  

      BMCS_002.sql 文 件 的 内 容 如 下 
      use caacdb2 
      go 
      grant all on REPO01_REP to public 
      go 

      在 从 点 的SQL Server 上 加 载 此 文 件, 命 令 为 

      isql -Usa -Pxxxxxx -SBMCS_002 < BMCS_002.sql  

      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 < SCO_SYBASE.sql  

      5. 在 主 点(BMCSDB) 中 生 成 文 件BMCSDB_REF.sql, 用 于 对 主 点 
 复 制 服 务 器(BMCSDB_REP) 进 行 复 制 定 义 和 约 定。  

       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 < BMCSDB_REF.sql  

       上 述 对 主 从 点 的 配 置 完 成 后, 可 在 主 点 的 用 户 数 据 
 库 中 对REPO01_REP 表 插 入 一 条 记 录。 从 各 个 从 点 的 观 察 结 果 
 来 看, 复 制 工 作 成 功 进 行。  
1
表情
所有内容均为会员自愿发表,并不代表本站立场.
论坛帮助 会员认证删帖申请 联系我们