医院信息系统Sybase数据库的维护管理
2015-06-01吴文俊周彬沈黎蔡敏芳
吴文俊,周彬,沈黎,蔡敏芳
华中科技大学同济医学院附属协和医院 计算机管理中心,湖北 武汉 430022
医院信息系统Sybase数据库的维护管理
吴文俊,周彬,沈黎,蔡敏芳
华中科技大学同济医学院附属协和医院 计算机管理中心,湖北 武汉 430022
本文主要介绍了医院信息系统中Sybase数据库的日常维护的方法,重点阐述了在Sybase数据库层面的高可用性的使用和日常维护Sybase数据库所需要注意的关键环节,以及实际维护时所遇到的问题、解决方法和经验。这些经验有助于数据库管理员更好地把握Sybase数据库在医院信息系统中的维护要点和维护措施。
医院信息系统;Sybase数据库;数据库维护
医院信息系统(HIS)作为医院信息化建设的重点工程,已经成为医院运营的基础设施和技术支撑,成为医院建设与管理的重要组成部分。HIS的有效运用,不仅能够优化医院的业务流程,还能够整合医疗资源、降低医疗成本,进而提高诊疗质量、改善医疗服务水平,从而增强医院竞争力。
武汉协和医院作为国家卫生计生委直属的大型综合性医院,先后被评为国家首批三甲医院、全国百佳医院,医院的信息化的高速发展是必不可少的源动力。医院自从2002年建立算机管理中心后就设置了专门的系统管理员对HIS进行管理与维护。随着医疗设备的不断发展以及医院规模的不断扩张,已经由原先的单一院区发展为现在多院区齐飞的大规模集团化医院,网络客户端数量也由最开始的100台左右发展到现在的1400台,这对HIS的管理与维护提出了严峻的考验,如何能让HIS每天在24 h无故障的安全且高效运行一直是我们极力想要达到的目标。
1 HIS的特点
为了能更好的维护HIS中Sybase数据库(美国Sybase公司研制的一种关系型数据库系统),需要对HIS的特点有一个全面的、科学的认识。正是这些特点才使得HIS中的Sybase数据库的维护难度加大,对系统管理员的要求变高,同时对运行的硬件也提出了更高的要求。下面简单介绍一下HIS的特点。
1.1 以局域网络应用为支撑环境
医院网络是HIS的基础设施,通过光纤网络可以连接不同院区,以实现不同院区之间HIS的数据互通。近年来由于移动终端的飞速发展,各医院也在大力发展医院的无线网络,以实现HIS在患者床边的操作。
1.2 以数据库应用为核心
HIS每天产生的业务数据大部分都需要长期保存与应用。因此,HIS需要大规模和高效率的数据库系统作为其核心,以处理数据和提供应用服务。目前HIS使用较多的是Oracle数据库、SQL Server数据库、DB2数据库、Sybase数据库以及informix数据库等关系型数据库,这些数据库的维护与监控工作是HIS管理与维护的核心,需要每天对其有针对性的记录,才能在出现问题的时候及时的解决问题。
1.3 采用C/S结构或C/中间件/S结构
C/S这种两层结构还是目前HIS常用的结构[1]。而C/中间件/S这种三层结构是C/S两层结构的发展,分为表示层、功能层和数据层,其中表示层提供人机界面,用以数据输入和结果输出,功能层完成对应用的逻辑处理,而数据层作为数据库系统主要负责对数据的增、删、改、查操作。而另一种三层结构是B/S结构,它的表示层以Web方式提供使用,用户可以使用浏览器进行输入输出。三层的结构具有更好的开放性、安全性、扩展性和可维护性,目前已经逐渐被用户所接受。
1.4 系统运行的连续性
HIS是医院的业务操作平台,需要每天24 h不间断运行,其连续性和稳定性不仅关系到医院的业务的正常运作,甚至关系到患者的生命安全,HIS的连续性和稳定性与网络、数据库以及硬件设备和供电都息息相关。因此,所有的关键节点的设备都必须有备用和冗余,重要系统的数据库都必须要按时进行备份,如此才能在发生故障的时候在最短的时间内得到恢复。有条件最好能建立容灾中心,以便在生产环境发生严重故障时能迅速切换到容灾中心,恢复运作,减小损失,以提高HIS运行的连续性。
1.5 数据保密和安全性要求高
HIS的数据涉及到患者个人隐私和医院业务机密,有严格的保密和安全要求。因此,除了强化系统安全防护能力,防止非法入侵以及数据泄露,还必须建立完善的用户权限制度以及防护监控措施,确保病人和医院的利益。
HIS数据库具有数据的整体共享、长期保存、长期应用和持续发展以及标准化应用等特点,所以对数据库的管理与维护必须是严苛的。
2 我院HIS的Sybase数据库高可用性设计介绍
我院于2014年6月更换了新的HIS服务器、升级Sybase数据库版本和存储空间,以满足日益膨胀的数据需求。
2.1 我院HIS的基本架构与物理硬件配置
我院HIS采用的是IBM System和X3850 X5系列的机型。CPU为Xeon E7,4颗CPU,每颗有10个Core,内存达到256 GB,2台服务器安装Redhat Enterprise Linux 6.4操作系统和Sybase15.7(Sybase最新版本)数据库。2台服务器分别放置在老门诊机房和新门诊的新机房,形成双机备用保护。服务器之间通过核心交换机之间的单模光纤直连进行通信。为了保障数据的安全可靠,采用2台VNX5500机通过EMC的同城双活技术VPLEX组成异地的双活统一存储资源池,每台VNX5500机都配置了40块300 GB、15000转的硬盘,此外还对老门诊的HIS服务器增加了EMC的持续数据保护CDP,将要保护的数据保存到CDP,即使当HIS发生逻辑错误的时候,也可以从独立的CDP保护磁盘空间中恢复数据。我院HIS的整个系统硬件架构,见图1。
2.2 我院HIS数据库架构
我院HIS使用的是Sybase 15.7版本的数据库,正式生产库为svrmz,该数据库为日常HIS使用的业务库,所有HIS相关的业务全部在该数据库上运行,此外还有个镜像数据库为svrzy,采用的和正式库完全一致的配置。应用Sybase公司的Replication Server服务的单向复制功能,将正式生产库上所执行的所有操作通过复制队列通道按顺序复制到镜像数据库中。采用单向复制将正式库上的数据单向复制到镜像库的目的是:首先可以作为正式库的备用数据库,当正式库出现故障的时候可以切换到镜像库上,通过Linux6.4操作系统的HA高可用组件的clusvcadm命令将正式库数据库服务直接切换到镜像库上。这个切换的过程很短;此外,还可以将一些与HIS相关,需要提取HIS的数据来处理的外围系统,如医院感染信息系统、手术室追溯系统等,全均连接到镜像库上,这些应用对实时性要求并不是很高,将其连接到镜像库可以缓解正式库的压力,同时也可以降低其他应用对正式库产生影响的概率,更好的保障HIS稳定性。
图1 我院整个HIS的系统硬件架构
3 对HIS的管理与维护
武汉协和医院计算机管理中心作为武汉协和医院信息化发展的主要执行者,在医院信息化的道路上已经经历了十多年的风雨,对HIS有大量的投入与足够重视,对它的管理与维护积累了一定的经验。其中对服务器和数据库的监控与维护尤为重要,主要包括以下几个方面:
3.1 对服务器和数据库的监控
HIS的服务器及其所运行的数据库是我们系统管理员每天都需要关注的。操作系统层面的监控,包括CPU的利用率、进程数、I/O等数据。数据库监控软件所监控的内容包括无阻塞进程数据,每天产生的数据量等[2]。为此,我们需要制定完善的系统运行状态监控表,系统管理员每天要按时填写,记录HIS的运行状态。
每个医院的HIS的设计和操作都不尽相同,针对我们医院的HIS的服务器、存储和数据库,需要监控的有如下几个关键点,根据这些关键检查点可以反应Sybase数据库当前的运行情况,帮助系统管理员更好地把握数据库运行状态,并且及时的处理潜在的问题。
(1)检查服务器的最大连接数和在线进程数。这两个参数可以大致反映当前服务器的负载情况,如果连接数太高可能会导致服务器的宕机。
(2)检查数据库设备容量、实际大小、日增量和日志大小。这些参数是数据库的基本信息参数,可以反映数据库的总体情况,是否需要增加数据库设备或者日志设备等[3]。
(3)检查是否有警告日志文件(alert)。查看alert文件对数据库的监控来说十分的重要,它会在第一时间反应数据库的问题,对于有效的预防数据库的故障至关重要。
(4)查看最早进程时间。用isql命令连接到正式库上,通过查询最早进程时间可以及时发现不完整事务,其中对应的spid命令为最早的进程,如果最早的进程开始时间距离当前时间已经非常长,如2~3天,则可能该进程有问题,甚至可能导致日志无法截断。确认该进程后,应该将其终止。
(5)查看数据库同步复制状态。单向复制是连接正式库和镜像库的重要通道,需要按时进行监控。用isql连接到复制服务器上,需要监控的主要有:① 用admin who,sqm来查看复制队列的事务及其运行情况,通过firstseg.block和lastseg.block比对,来看复制的数据块的情况;② 用admin who,sqt来监控队列传输的情况,可以看到当前是否有事务在处理以及事务处理的状态;③ 用admin who_is_down来监控rep agent/DSI线程是否正常,异常情况时会显示哪一个spid被挂起;④ 用admindisk_space来监控复制的分区空间使用情况,默认情况下partition空间使用超过阈值时,系统会将告警信息记录在日志文件中;⑤ 用admindump_queue来查看有问题模块的实际处理的事务的语句,可以具体的了解到是什么语句造成问题。
(6)定时查看数据库备份情况。一般备份的工作都会放在计划任务里面每天定时执行,但是还是需要经常去查看备份的基本信息,如备份的起始和结束时间以及备份文件的大小,确保完备和增量备份都顺利地完成,以免实际使用时出现备份文件不完整的情况[4-5]。
(7)日常需要查看的就是CPU和I/O的使用情况,以及有无阻塞进程。这些是最直观的可以反映服务器及数据库当前状态的信息[6]。Sybase数据库提供了Sybase Centre的数据库图形界面软件,可查看到阻塞的进程并将其杀掉[7]。
(8)定期检查数据库的配置[8]。如使用sp_configure检查内存分配、存储过程缓冲、用户连接数以及锁个数等重要的数据库参数的设置,减少系统I/O操作,提高数据分析和统计能力[9]。随着系统的使用以及客户端规模的改变应适当调整合适的参数数值,使数据库运行更流畅。
针对这些在Sybase数据库维护中要经常关注的环节,系统管理员可以更高效的对Sybase数据库进行维护,保障数据库正常运行。
3.2 我院HIS故障处理实例
我院HIS系统虽然有多方面的冗余,可是再完善的系统也无法做到百分之百的稳定。本文所介绍的问题为数据库日志容量溢出导致数据库无法进行任何新的操作(因为数据库每做一步操作都需要有日志空间来给它记录日志)。最终采用在数据库的启动文件里设置一个trace flag标志,该标志是指在数据库启动时重新扫描日志段的配额页,以重新计算空闲的日志空间,而不是使用在启动时保存的计算值。使用有该标志的启动脚本重新启动后数据库恢复。也可以进行查询操作,将日志空间清空,为数据库使用。
对本次故障的经验总结有如下几条:
(1)日志的空间大小以及内容对数据库来说至关重要,使用isql直接连接服务器,用命令sp_spaceusedsyslogs来查看日志容量的大小,以确保精确地知道剩余多少日志空间,而不是一味的依赖图形化界面来监控;用master..syslogshold来查看最早进程,发现不完整事务,如果发现有驻守时间太久的进程应将其终止[10]。
(2)多关注日志的告警信息,以便更好地把握数据库的状态,尽早发现有可能会出问题的环节。
(3)图形化界面虽然直观,但是有时却不够准确,容易导致对问题不能及时发现,更多的时候还是需要用命令来查看一些重要的信息。
4 总结
综上所述,针对HIS的特点,提出了HIS数据库的维护方法,并结合我院使用的Sybase数据库的日常维护的关键环节,阐述了数据库在实际生产环境中维护时需要注意的事项以及应对策略。数据库管理员可以针对这些关键环节,更好地把握数据库的当前性能并预防潜在的数据库问题,以避免造成医院的损失[11]。
[1]冯冬青,张新红,张学伟.数据库的体系结构及在工商管理系统中的应用[J].计算机工程与应用,2003,(24):193-195,217.
[2]梁正友,苏德富,吕立坚,等.Linux系统下Sybase数据库及管理[J].计算机应用研究,2001,(2):101-103.
[3]王庆幸.实时监控SYBASE数据库空间的设计[J].空中交通管理, 2011,(6):41-44.
[4]刘永华.Sybase数据库的备份与恢复[J].计算机系统应用,2002, (6):44-46.
[5]胥永康,岳筱玲,席传裕.Sybase数据库完整备份技术[J].计算机应用, 2002,22(11):114-115.
[6]徐静.Sybase数据库优化技术和方法[J].数字技术与应用,2013, (7):132.
[7]骆爽,朱铁樱,王鹏飞.Sybase数据库性能优化设计与评价指标的分析[J].电脑知识与技术,2010,6(29):8151-8152.
[8]梁正友,苏德富,赵明,等.Linux系统下Sybase数据库内存配置的优化[J].计算机应用,2000,20(12):43-45.
[9]李海涛,李东升,贾守恒.Sybase数据库数据统计及分析优化[J].电脑与信息技术,2011,19(1):57-59.
[10]姚益静.Sybase数据库优化技术和方法[J].铁路计算机应用,2008, (4):52-54.
[11]徐杭龙,马冠颖,戴明浪.我院电子信息存储系统配置实施分析[J].中国医疗设备,2014,29(6):47-49.
MaintenanceManagement of Sybase Database in Hospital Information System
WU Wen-jun, ZHOU Bin, SHEN Li, CAIMin-fang
ComputerManagement Center, Wuhan Union Hospital, TongjiMedical College, Huazhong University of Science and Technology, Wuhan Hubei 430022, China
This paper mainlydescribed the approach ofdaily maintenance of the Sybasedatabase in HIS (Hospital Information System), focusing on the high-availability use of thedatabase and the attentionneededkey points indaily maintenance of Sybasedatabase as well as the problemssolutions and experienceduring actual maintenance. These experience could helpdatabase administrators to grasp thekey points and relevant measures in Sybasedatabase maintenance in HIS.
hospital informationsystems;Sybasedatabase;database maintenance
TP311.13
A
10.3969/j.issn.1674-1633.2015.08.025
1674-1633(2015)08-0081-03
2015-04-13
作者邮箱:592838737@qq.com