作者:新疆自治区人民医院 彭建明
数据库备份是信息科最后一根救命稻草,估计很少有人像我理解得这么深刻。2014年9月9日,这么多年过去了,我依然清晰的记得这一天。因为我做了近20年系统运维,那天的经历,可能是最惨痛的一次,而且就发生在我们医院。往事不堪回首,且听我慢慢道来。
先是一个存储控制器坏了
我大学上的是计算机软件开发专业,毕业分配到新疆自治区人民医院信息科工作。医院非常重视信息化,加上我喜欢研究计算机技术,工作十几年后,我在新疆信息行业也小有名气。我先后帮助处理了新疆很多单位的Oracle数据库相关问题,几乎都是马到成功。不知不觉中,当时的我都竟有点飘飘然了。但是2014年9月9日发生的一件事,让我对系统运维从此再不敢再有丝毫的麻痹大意思想。
我们医院HIS和电子病历系统都是使用IBM小型机,数据库采用Oracle 11g RAC 数据库技术,存储是IBM DS5100。这个存储性能和安全性都不错,并且集群系统都是我自己安装的,因此对这套系统很有信心。2014年9月5日,有一个存储控制器坏了,整个医院的业务都非常慢。我进入存储系统,发现存储Cache被禁用了。我强行启用Cache,跳出一行英文提示,大意是“单控制器Cache没有镜像功能,一定不能断电,很危险”。我当时没有太在意,Cache启用以后,全院业务都恢复了正常。
核心数据库也坏掉了
5天之后的9月9日,新控制器到了。IBM工程师要求在线换,承诺30分钟之内更换完毕。我觉得还是要稳妥为好,等到晚上关了数据库再进行更换。到了当晚22:00,我们按照计划停了数据库,也停了集群。就在我准备停AIX操作系统时,检查科室打来电话,说PACS用不成了。IBM工程师说,AIX不停没有啥问题。我去处理PACS的问题,同时让科室同事陪着IBM工程师更换控制器。
PACS系统问题不大但很耗时,我处理了大约40分钟,回来发现控制器还没有更换掉。IBM工程师说,换上控制器后,存储一下自动宕机了,现在一直起不来。我想起了那个英文提示,心里有一种不祥的预感。又经过30多分钟,存储终于加电启动了,小型机和集群随后也起来了,但数据库起不来了,数据库日志报了报了一堆坏块。我根据坏块地址查了一下,是些索引坏块,索引坏块重建就可以解决。但随后数据坏块也出现了,而且越来越多。如果是数据库彻底坏了,就不可修复。紧接着,最可怕的事情发生了:两个核心数据库全部坏了。
通过备份灾难恢复
事情发展到这步,就只能依靠备份了。2012年我们上了一套备份,但一直没有真正用过。我想,这次就只有靠它了,这是唯一的出路。
很快,备份公司技术经理来了,他显得很兴奋,说从来没有恢复过生产环境下的IBM AIX RAC。我俩简单地制定了一个恢复方案,我建了一个新的ORACLE ASM区域用来恢复数据,备份公司技术经理重新配置了小型机端的备份软件和参数。
一切都按照我们的计划进行。当时全院数据库HIS数据有1TB左右,电子病历系统数据有600G。由于数据量较大,恢复的速度很慢,我的心也一直都在悬着。期间大部分的院领导和业务科室都给我打了电话,要求一定不要影响第二天医院业务。到了第二天9:00,经过5个小时彻夜不眠的灾难恢复,终于恢复成功了。新疆这边这是北京时间10点上班,我们还算是提前一小时完成了恢复。幸亏是在晚上,不然停这么长时间的系统,后果真是不可想象。
这件事情完了以后,医院领导表扬了信息中心。说实话,我却感觉很愧疚。有的医院买备份软件花了几十万元,从来没有用过,还觉得挺冤的。备份,的确一定要有,但是我内心希望,永远都不要用上备份。
【作者简介】
彭建明:新疆维吾尔自治区人民医院信息中心副主任,18年专注于医院信息化管理建设,一直致力于大型医院核心信息系统安全性、可靠性的研究,拥有丰富的医院信息化建设管理实操经验。曾帮助新疆多家大型三甲医院、多家县级医院和新疆大型企业、政府部门安装Unix或Linux环境下的集群系统和容灾系统,帮助解决系统故障和性能问题。以扎实的技术和认真的工作作风得到了广大同行的认可。通过学习与实践相结合,先后取得了ORACLE 8I OCP 、ORACLE 10G OCP 、IBM AIX小型机管理员证书、CISCO CCNA 网络管理员证书。