修复因意外断电导致的系统数据库损坏
2020-04-15山东张鲁峰
■ 山东 张鲁峰
前段时间单位在临近春节即将放假之时,正当大家都还沉浸在准备欢度春节的喜庆气氛中,但一通电话将单位欢乐祥和的气氛一扫而光,电话告知笔者,因公司机房因意外断电,导致财务系统无法正常登录了。听到这里笔者心里一紧,赶紧远程登录到服务器上进行检查,发现系统数据库损坏了,这可是很麻烦的问题,笔者当场就愣在原地。
不巧的是,事故当天正值春节放假第一天,各大公司的技术人员大多放假返乡,导致我们也难以协调外部资源协助处理。而且系统数据库是专业化高的Oralce,技术门槛较高,且维护价格不菲。况且,“黄金有价,数据无价”,若处理过程中,稍有不慎导致公司财务和业务数据彻底损坏而完全丢失,那损失就无法计量了。
问题分析
此时此刻,所面临的困难真的是非常考验我们,怎么才能克服困难并解决问题呢,首先大家通过分析问题,认为目前可有两个选择:
第一种方案是想办法直接修复数据库,但通过联系与咨询专业数据库工程师,并请其远程诊断与分析,断定公司的数据库已属于深度损坏,要想修复需要付费至少数万元,关键是无法保证能够完全修复成功,最多能给找回部分业务数据。
另一种方案是,用公司现有的数据备份予以恢复,将备份之后所生成的业务数据再手工补录回来。这样的好处是实现方法相对简便,且节省费用,但缺点是需要手工补录回遗失的数据,并请相关领导重新审批损失期间的流程。
通过综合比较,大家认为第二种方案相对更保险,且备份与遗失数据之间的差距较小(数据备份在中午,系统损坏在下午,只遗失了下午的数据),相对容易补回。
补救方案确定
确定选择第二种方案,在征求了业务部门的意见后,随即协调了系统软件商,制订了如下的恢复计划与工作方案:
第一步,先搭建测试环境,把最近备份的数据库导入测试环境,并进行业务操作和查询测试,主要测试新增和查询业务数据是否有问题,以验证备份数据库是否完整且可用。
第二步,确认备份数据库没问题后,对正式数据库服务器进行安装。
第三步,待新数据库安装完成后,与软件商配合,进行备份数据库的导入工作。
第四步,导入完成后,再次查询测试导入数据库是否完整,确认无误后,协调安排业务人员进行补录,系统仅损失当天所丢失的数据。
依据上述计划,我们分别协调软件技术工程师及公司业务部门,通过合理分工、按部就班进行,最终实现了财务系统和数据库的完整修复与恢复。
任务完成了,重新登录后,看到那正常且熟悉的界面,长舒了一口气,回想整个过程,颇费周折,这当中有资源协调的困难,比如春节放假期间,请软件工程师加班处理。有测试资源不足的问题,因为在导入正式服务器前,需要先有相应的测试环境,测试确认无误后,方能在正式系统里面实施,但由于公司现有资源无法满足测试需求,通过笔者多方协调,及大家积极献计献策,最终采用虚拟测试环境,保证了测试的需要;
图1 新UPS测试结果
除此之外,过程中还有储多问题与困难,这里就不一一赘述了。
总结反思
痛定思痛,如何才能避免类似问题再度产生呢,事后我们信息化人员与业务部门一起反思总结,探讨出如下的改进措施:
第一,公司机房的电闸,位于外走廊,之前是处于完全放开的、无人管理的状态,本次断电的原因,也是由于业务部门新人误触到拉闸,为此我们请人安装了锁具,并安排了业务部门的专人进行管理与定期检查,以保证机房供电的安全与稳定。
第二,因公司之前也发生过意外断电所导致的服务器宕机与系统损坏的情况,通过检测,我们发现机房供电的UPS(断电支持电源)设备老化,且功能陈旧,无法有效应对机房的意外断电的问题,为此,公司机房升级更新成新型智能UPS(山特C10KS+NMC通信板卡),升级后的设备增加了新功能,实现了断电后的在线报警与提醒,及服务器的自动关机功能(测试结果如图1所示)。
另外,为UPS加装电池组,使得断电持续能力得到适度延长,保证机房在停电后,能有充足的时间从容处理相关事务等。
此举可有效保证断电后的及时应对,以保证信息与设备的安全。
上述工作基本都是以远程协作与在线配合的方式完成的,在线沟通与协作的便捷与高效是非常重要的。特别是在“新冠”疫情中,远程办公更是大显身手,成为主流,更显沟通协作的重要性。
另外,就是工作的精细化,本次事件的起因就是因为新员工不甚误触电闸,加上诸多因素的叠加,最终导致整个机房的大宕机,所以一定要关注工作中的每一个细节。