医院信息系统中一种经济适用的数据库容灾方法 ORACLE Standby

来源:互联网 发布:注册会计师挂靠 知乎 编辑:程序博客网 时间:2024/04/27 19:54

容灾是指在灾难发生时,信息系统可以在最短的时间内、最少的损失下恢复业务的运行。数据库级容灾是建立在数据库基础上,将源数据库通过逻辑的方式在异地建立一个同样的数据库,并且实时更新,当源数据库发生灾难时可以及时接管业务系统,达到容灾的目的。为实现7*24小时业务连续运行,提高信息化医院的服务水平和竞争力,我院“军字一号”系统在双机集群的基础上,结合医院的具体情况,采用一种经济适用的方法建立数据库级的容灾系统,即利用ORACLE的机制建立Standby容灾数据库。
1   容灾系统的设计
     我院从2003年启用“军字一号”系统,数据库是Oracle8. 1 7.4,到目前HIS的数据量为15G,每天产生的归档日志为300M左右,基于数据量不大的情况,我们利用Oracle的Standby数据库做容灾。
1.1  Standby的工作原理
     Standby数据库针对主数据库建立,利用ORACLE数据库的归档日志文件来实现。主数据库设置成归档模式,把归档日志文件不停地传输到远程的Standby数据库指定目录:Standby数据库设置成恢复模式,使用归档日志文件将系统恢复到最近状态。
将Standby数据库用于对主数据库进行容灾备援,在主数据库出现故障时可以马上激活Standby数据库从而取代主数据库运行,也可以通过导出Standby数据库的数据对主数据库进行恢复。
1.2  standby的建立
     我院利用一台HPDL380服务器用来做Standby服务器。主数据库和Standby数据库因为运行在不同的服务器上面,这两台服务器需安装相同版本和补丁的操作系统,相同版本和补丁的Oracle软件,同时为方便应用,将数据文件、控制文件、归档日志等的路径设置相同。做容灾的HPDL380服务器分出3个分区,一个分区用来存放操作系统,一个分区用来存放Standby的数据库文件,一个分区用来存放传递过来的归档日志文件。
     一线的HPDL580服务器上的主数据库处于归档模式,它通过Net8自动把归档日志文件传输到HPDL380服务器上的Standby数据库的相应目录,Standby数据库处于自动恢复模式,为保证安全,避免主服务器上将表或表空间误删除等致命操作,我们将standby数据库恢复到2个小时前的状态[3]。

 

1.3  standby数据库的激活
      当主数据库由于某种原因不能正常工作,而修复时间超过我们可以接受的范围时,我们激活standby数据库,使它成为主数据库运行。启动standby数据库,修改standby数据库的IP地址为主服务器的IP地址,根据归档日志恢复到系统最新状态,原主服务器的IP地址也进行修改,同时验证侦昕服务是否正常,如果正常系统便可以继续运行[2]。但是这个行为是单向的,被击活的standby数据库无法再回到待用状态下,同时我们在激活standby数据库之前对主数据库做一次冷备份,这样可以保证在重建主数据库之前无论发生任何状况,数据库都能够恢复到故障点。
1.4  主数据库与standby数据库的重建
      当原standby数据库因为主数据库的故障而成为替代主数据库后,我们在排除原主数据库的故障后,在一个最近的非业务高峰时段,例如在凌晨进行主数据库与standby数据库的重建。原来的HPDL580要重新成为主数据库服务器, HPDL380要恢复成standby数据库状态。
      主数据库的重建过程:(1)关闭HPDL380上的数据库,对HPDL380数据库做一个冷备份;(2)清除HPDL580原主数据库上的所有归档日志文件;(3)从HPDL380上拷贝所有的数据文件/控制文件/重做日志文件(不包括参数文件)到HPDL580服务器原来的目录下,覆盖原来的文件;(4) 把所有tnsnames.ora文件中的主机名称、IP地址改回原来的状态; (5)打开HPDL580主数据库; (6)在HPDL580上建立一个standby数据库的备用控制文件[1]。
      standby数据库的重建过程:(1)拷贝上面重建主数据库时建立的备用控制文件和原standby数据库的参数文件到相应的目录下[1];(2)清除standby数据库上的全部归档日志;(3)启动standby数据库; (4)Standby数据库进入managed recovery mode。

2   standby容灾系统的优缺点
     优点:(1)Oracle8i企业版支持创建standby数据库,从数据库级实现基本的数据同步,不需要另购软件;(2)通过建立容灾系统,与备份系统互为补充;(3)可以利用旧的设备,节省投资; (4)实施方便。
     缺点:(1)单线程处理日志,性能较低;(2)将日志传输复制,有时间延迟;(3)数据库的版本、操作系统和服务名必须一致。
    综合上述的优缺点可知,这种方法适合数据量不是太大的系统使用。

3  小结
    各种灾备方案设计的最终目的是为了在各种故障、灾难发生的时候,能让业务保持7X24 的不间断运行。我院Standby容灾数据库建好后,和Oracle中的RMAN备份相结合,可以在数据库损坏的情况下灵活地选择恢复方式,使数据库下线时间缩短到最小,最大程度地减少业务损失,而且Standby数据库的建立,相当于数据库又多了一个备份,确保了数据的安全性和完整性。

原创粉丝点击