论文导读::本文的目的是为医院信息管理系统建立一个可靠的、切实可行的容灾方案,最大限度地保证业务系统工作的连续性、可靠性、数据完整性。利用Oracle Data Guard对数据库系统进行灾难性保护,并成功实现了包括数据和应用在内的热切换容灾系统。
论文关键词:Oracle,DataGuard,医院信息系统,容灾备份
一、引言
为实现医院信息化管理,降低医院运维成本提高工作效率,改进医疗质量, 我院从2003年开始进行医院息化建设。通过八年来的努力, 逐步建立起来包含HIS、CIS、LIS等功能齐全的综合信息系统, 不但提高了全院工作效率,方便了病人就诊, 给医院带来很好的经济效益和社会效益。随着医院信息化程度的深入开展, 大部份业务均由信息系统承担。如果HIS等 信息系统出现故障,后果将不堪设想。医院信息系统的关键 和重点又在于数据库,医院所有系统的数据都存放在信息中心机房的Oracle数据库当中。在当今各种不同的复杂计算环境中,Oracle数据库管理员面临着许多挑战。例如,他们需要管理数据库的增长、保证数据的可用性以及改善性能——所有这一切都要在同一时间内完成。对医院信息系统数据库的保护也应当处于任何信息科任何工作的一个高优先级上。
二、医院现状
目前, 我院运行的医院信息系统后台数据库为Oracle 10g,前台医院信息系统为北京天健公司的最新HIS3.6版。后台数据库服务器采用2台IBM X3650和一台IBM DS3400阵列,安装Oracle 10g RAC群集功能。Oracle RAC 群集的具有高可能性和支持动态工作负载等优点。由于Oracle群集技术是采用两台服务器连接到一台磁盘阵列共享数据的方式, 磁盘阵列就成了整个系统的一个单点故障点, 一旦磁盘阵列发生故障,则整个系统将会瘫痪。我院原有的信息系统数据备份采用Oracle 的EXP命令对数据库进行完全导出和增量导出备份。这种备份恢复方案可以保证当数据库发生崩溃时, ,数据恢复到上次备份状态,用户数据会丢失一部份,系统虽然可以恢复正常.但是一旦数据库发生崩溃, ,恢复过程较长,系统无法在短时间内恢复运行。
三、Data Guard 的原理及实现
Data Guard是Oracle的集成化灾难恢复解决方案,该技术可以维护生产数据库一个或多个同步备份,由一个主数据库和多个备用数据库组成,并形成一个独立的、易于管理的数据保护方案。Data Guard备用数据库可以与主系统位于相同的数据中心,也可以是在地理位置上分布较远的远程灾难备份中心。
Data Guard的基本原理是,当某次事务处理对生产数据库中的数据做出更改时,Oracle数据库将在一个联机重做日志文件中记录此次更改。在DataGuard中可以配置写日志的这个过程,除了把日志记录到本地的联机日志文件和归档日志文件中,还可以通过网络,把日志信息发送的远程的备用数据库服务器上。这个备用日志文件写入过程可以是实时、同步的,以实现零数据丢失(最大保护模式);也可以是异步的,以减少对网络带宽的压力(最大可用性模式);或者是通过归档日志文件、一个日志文件的批量传输模式,以减少对生产系统的性能影响(最大性能模式)。当备份数据库接收到日志信息后,Data Guard可以自动利用日志信息实现数据的同步。当主数据库打开并处于活动状态时,备用数据库可以执行恢复操作,如果主数据库出现了故障,备用数据库即可以被激活并接管生产数据库的工作。
安装配置Data Guard 的步骤如下:
(1) 将主数据库设置成归档状态和自动归档模式
(3) 在主数据库上创建备用数据库控制文件、初始化参数文件;
(4) 把将主数据库备份文件、控制文件和初始化参数文件复制到备用数据库上;
(5) 设置备用数据库控制文件、初始化参数文件和备用数据库侦听;
(6) 设置备用数据库连接主数据库的服务名与主数据库到备用数据库的服务名;
(7) 启动备用数据库实例, 初始化日志应用服务,并且将备用数据库设置成standby;
(8) 启动归档到备用数据库。
四、Data Guard 在我院HIS 中的应用
(1) 容灾备份:我院在住院大楼的机房新建了一个异地备份机房,硬件采用一台IBM X3650服务器,服务器上配置5块146G硬盘并做了RAID5,安装配置了Oracle 10g和Data Guard。保证了无论是硬盘或网络出现故障的情况下全院信息系统能正常运行。同时对于火灾、盗窃等非技术情况下的异地备份,提高了整体系统完全性。经过多次测试,主数据库和备份数据库之间能够在5分钟之类切换,基本上能保证系统的连续运行。
(2)门诊应急系统。由于门诊业务的特殊性,向门诊挂号、收费、药房、医生站这样繁忙的系统,必须连续运行并且手工操作复杂, 我院利用Data Guard技术配置了门诊的应急数据库, 数据实时同步的备用库保证了价表、收费信息等信息的一致性。防止出现中心机房服务器、阵列或网络出现问题的时候,保证门诊的业务不受影响。由于备用数据库的使用对应用程序是透明的,而且不需要对应用程序代码进行修改以适应它,实现门诊系统在主/备库之间的无缝切换。
五、 总结
Data Guard 作为Oracle 免费推出的一个灾难恢复技术,利用Oracle 10g Data Guard而实现备用数据库操作的好处可以简单地总结为:它提供了灾难保护并防止数据丢失、维护主数据库的几个事务一致的副本、防止灾难、数据损坏和用户错误、无需昂贵且复杂的 HW/SW 镜像。但是Data Guard也有以下缺点:不支持异构、不可跨平台、数据库版本需一致,目标数据库出入recovery状态不可用等,如果用户需要更高性能及可靠性可以购买第三方软件,例如DSG Real Syncc等产品。
[参考文献]
[1](美)尼米克(Niemiec,R.J) 著;薛莹 译,OracleDatabase 10g性能调整与优化[M ] ,2009年01月,清华大学出版社.
[2](美)罗尼,(美)布莱拉著,朱洁梅,王海涛译,Oracle Database 10g DBA手册:管理健壮的.可扩展的.高可用的Oracle数据库[M ],清华大学出版社,2006
[3]路川,胡欣杰编著,Oracle 10g宝典[M ],,电子工业出版社,2006.
|