一、Sybase复制服务器的体系结构

1、复制服务器 v11.0.x的体系结构

    Sybase公 司推出的解决分布数据之间数据一致性的比较成熟的产品,它基于OpenServer/Open Client的体系结构,采用对每个主点数据库都启动一个LTM(LogTransferManager)进程监视数据库日志,然后 由复制服务器 (Rs)相应地更新 目的数据库 (复制点)的数据的工作方式。主要处理过程如下 :
  •  对每个主点数据库都启动一个 LTM 进程。
  • LTM 进程连接到该主点数据库 dataserver,作为数据库的一个用户,使用 dbcclogtransfer命令扫描数据库日志 syslogs。
  • 用户将扫描结果通过 SQL/LTI以 TDS格式传送给 LTM 进程 。
  • LTM 将 SOL/LTI转换成 LTL(Log Transfer Language)发送给复制服务器 RS。
  • 复制服务器 RS依据复制约定,以一个数据库用户身份连接到复制点数据库,并依据 LTL内容对复制点数据库的数据进行数据更新。或该RS依据路由 (route)定义将 LTL送给复制点 RS,由复制点 RS进行下一步处理。
Sybase Replication Server v11.0.X的处理过程如图1
Sybase复制服务器、自动备份恢复及案例

2、复制服务器 v11.5.x的体系结构

    Replication Server v11.5.x对 Replication Server v11.0.X作了进一步的增强,它将 LTM 的功能集成到数据库服务器中,作为数据库服务器内部的一个线程(Agentthread),提高了复制效率。与 v11.0.X相比,好处主要体现在如下几个方面 :
 
a.简化了对复制服务器 RS的安装 、配置过程。
b.减少了对操作系统内存和 CPU资源的占用 。
c.v11.0. 的 LTM 等候扫描数据日志变化,此方式较被动 ;v11.5.x的 Agent线程主动将数据库日志变化发送给复制服务器 RS,较主动。
d.将日志记录直接转换成 LTL命令,减少了中间环节,从而减 少 了 CACHE的使用 。
e.可选地可以采用批处理方式发送 LTL命令, 提高了网络的利用率 。
 
此外,RS v11.5.x除保留 RS v11.0.x提供的对 DML(数 据 操 作 语 句)的复制外,还提供了称为SchemaReplication的新功能,即对DDL(数据定义语句)的复制 。
 
复制服务器 v11.5.x的内部结构如图 2
 

Sybase复制服务器、自动备份恢复及案例

图 2说明:
a.Agent以 AgentUser/Passwd身份与复制服务器 (RS)连接 。
b.Agent将 L11L(Log Transfer Language)发送给复制服务器 RS。
c.SQM 线 程 (stable queue manager thread)将 LTL数据转换放入入境队列 (Inbound queues)。
d.SQT线程读取入境队列中数据并打包成事务 数据(transactions)传送给 DIST。
e.DIST线程(distributor thread)将 事务 数据 送 给 SQM 线程 。
f .SQM线程将事务数据送入出境队列 (Outbound queues)。
g.IRSI线程(replicationserverinterfacethread) 读取出境队列中数据并发送给其它复制服务器 RS。
b.DSI线程 (dataserver interface thread)读取出境队列中数据并送入 Dataserver中执行相应的数 据 更新动作 。
i .无论是入境队列满还是出境队列满,都将影响复制系统的正常工作。这也是复制服务器的常见故障 。
 
复制服务器 v11.5.x的处理过程如图 3
Sybase复制服务器、自动备份恢复及案例
图 3说明:
a.每个主点数据库服务器都有一个复制代理线程 (Agent thread)。
b.Agent thread作 为 RS的一个客户端(Client) 与 RS建立一个常连接 。若连接不成功 ,Agent thread 将休眠一个 时间周期 ,然后再试图建立连接 。由于 Agent thread是作为dataserver的一个线程,因此,Agent与RS建立的连 接,从操作系统来看即是 dataserver与RS的连接。
c.Agent thread读取数据库日志,并将需复制的日志记录转换成 LTL语句 。
d.Agent thread以批处理方式将 LTL语句发送 给复制服务器 RS。
e.复制服务器 RS嵌据复制约定,以一个数据库用户身份连接到复制点数据库,并依据 LTL内容对复 制点数据库的数据进行数据更新。或该RS依据路由(route)定义将 LTL送给复制点RS,由复制点RS进行下一步处理 。
f.若复制服务器 RS还未处理完前面的命令,Agent thread将休眠一个时间周期,然后再试图发送数据给RS。
 
代理线程Agent thread是RS v11.5.x与RS v11.0.x最主要的区别。
目前,RS v11.5.x仍然支持RS v11.0.X中的LTM 方式,但对同一数据库服务器中的某一数据库只能选用 LTM 或 Agent thread一种方式。
 
 

二、Sybase ASE 数据库自动备份恢复

Sybase ASE 数据库和其他数据一样,通过记录数据库事物日志跟踪数据库。

Sybase 数据库是一种关系型数据库,凭借其强大的功能、高效率和高可靠性广泛地应用在各行各业的信息系统。本文笔者结合多年维护经验,谈谈 Sybase 数据库的备份和恢复。所有的变化来保证数据可恢复,用户的各种 INSERT(插入)、UPDATE(更新)、DELETE(删除)三种指令操作都会被按照实际发生顺序记录到事务日志里。事务日志就是一张系统表(syslogs),在这张表中记录着对数据库的更新请求,Select(查询)操作不记录入事务日志。由于事务日志包含了事务的执行细节和过程,这些信息足以重复操作,即事务日志可以用于恢复数据库。如果数据库发生不一致情况,导致数据库关闭,在一般情况下,数据库在重新启动过程中,会执行自动恢复过程,恢复检查点发生以来的数据,已写入的数据进行回退或未写入的数据进行前滚。检查点是数据经过数据高速缓存(Sybase  ASE 共享内存)处理发生更改向硬盘写入,完成数据同步的过程。数据库通过自动发出的检查点来确保已完成且未写入硬盘的事务数据从高速缓存写入数据库设备,使数据库与事务同步。所以,在存储设备正常工作的前提下,Sybase  ASE 系统发生异常崩溃(操作系统失败、系统掉电等)关闭后,重 启 Sybase  ASE 数 据 库,Sybase ASE 可以对每个数据库执行自动恢复。数据库恢复顺序从 master 数据库开始,然后是 model 数据库,再是 temporary 数据库等系统数据库,最后是用户数据库。此外,数据库管理员可以 通 过 isql 登 录 Sybase ASE 设置配置项中的“print recovery  information” 选项来显示数据库恢复详细信息。

 

三、案例

1.华氏大药房门店管理系统

(1)系统开发工具介绍

    本门店管理系统开发软件为PowerBuilder8.0;数据库为Sybase。
    随着数据库技术在各行各业的广泛应用,作为企业级数据库前端开发工具的PowerBuilder日益成为开发人员的得力助手。PowerBuilder 以其开放的体系结构、简洁高效的集成开发环境、强大的数据窗口技术、几乎无所不能的数据库访问能力和友好的用户界面,越来越受到开发人员的青睐。目前,PowerBuilder已经广泛地应用于世界各地地银行、电信、医疗保健、保险等行业中,为这些行业地网.上应用提供了强大的开发功能。从1991年1.0版本的问世,到8.0版本的发行,PowerBuilder 不断发展,推陈出新,历经了十多年的辉煌,己成为Client/Server模式应用和基于Internet模式应用最优秀的开发工具之一。PowerBuilder8. 0通过诸多强大功能、创新特性以及应用服务器的无缝集成,提供了基于客户机/服务器、Web及多层结构的快速开发环境。
    PowerBuilder8.0是Sybase公司推出的专业数据库开发工具,与前几个版.本相比,PowerBuilder8.0在用户界面、应用开发方法等方面都有了明显的变化。.例如,引入了工作区(WorkSpace) 以及目标(Target) 的概念,使得开发效率显着提高;大大加强了开发Web应用以及分布式应用方面的功能,并与企业应用.服务器紧密集成。在开发传统的客户机/服务器应用方面,PowerBuilder8.0更是有着其它开发工具无可比拟的优越性。PowerBuilder已经成为RAD(快速应用开发)的最优秀的4GL编程工具之一。
    语言是编程的基础,PowerBuilder采用的是结构化的、面向对象的高级编程语言一-PowerScript。PowerScript语言简洁高效,容易上手,并且提供了众多的处理函数,能完成各种复杂功能。PB8新增的函数:文件系统函数、打印函数、系统函数、数学函数、字符函数,并提供了源代码编辑器,可以以全代码方式编辑窗口、菜单、函数、用户对象和数据窗口对象等的源代码和更改定义,可以非常方便的完成一些其它方法难以完成的工作,如查看、修改数据窗口对象的语法、更改窗口的继承。丰富的数据类型和众多的函数进一步提高了.PowerBuilder8. 0的适应性和灵活性。PowerScript 不仅支持常规的数据类型,还支持用于处理多媒体数据的二进制大对象,当然它也完全支持对象类型。而众多的函数为开发人员提供强大功能的同时也避免和减少了不必要的重复编程,提高了开发效率。
    数据库是数据库信息管理系统地核心部分,PowerBuilder作为数据库前端开发工具,在世纪应用中必须与数据库管理系统配合起来才能成为开发地一个整体。PowerBuilder 支持各种常见的数据库,与数据库的连接建立在驱动程序之上。对于Sybase、 Orcale、 Informix这样大型数据库管理系统,PowerBuilder提供了旨在提高数据库访问效率的专用数据库接口;而对小型数据库(如Xbase、Access、Excel) 和支持0DBC借口的数据库(如IBM DB2), PowerBuilder 提供了ODBC接口。PowerBuilder几乎支持所有常见数据库的连接,强大的数据窗口技术,灵活的嵌入式SQL等,使系统具有良好的可塑性与适应性。

(2)华氏大药房信息管理系统计算机逻辑配置 

华氏大药房目前使用的服务器为IBM RS6000小型服务器,总部ERP系统开发软件PB7.0,资料库SYBASE;网络环境为公司总部宽带两条:有线通与ADSL;所有直营店采用v*n宽带与总部相连进行数据交换。新开发的门店管理系统开发软件与资料库与ERP系统相同,分别为PB7.0与SYBASE。门店计算机性能要求:安装操作系统WINDOWS XP; P4处理器; 256内存。

Sybase复制服务器、自动备份恢复及案例

2、新西兰卫生信息服务系统

新西兰卫生信息服务系统(NZHIS)负责收集保健数据并提供给全国范围的10000多所医院、医学实验室、药物及其它保健机构,该系统选用了Sybase
来价载管理与安全控制,充分满足了性能、可伸缩性与安全性等方面的所有需求,从而大大改善了卫生保健的服务系统。

相关文章: