2个月前,20:05 空荡荡的办公区
徐璐盯着监控屏上跳动的告警信息,手指无意识摩挲着键盘边缘。
半小时前发生的归档进程阻塞事故已经解决,但刚进公司一个月不到的小李在故障处理时误删归档日志的阴影还在心头萦绕。
她调出操作审计日志,突然听到身后传来咖啡杯轻磕桌面的声响。
“徐姐,这么晚还喝真不怕睡不着吗?” 刘洋倚在隔断旁,看着满屏的ORA-00312错误代码,“要不要试试我的解压大法?” 他晃了晃手机,屏幕里面是连连看...
徐璐刚要拒绝,目光扫过工位旁积灰的团队合影——那是三年前容灾演练成功后拍的,照片里大家举着“零宕机”的锦旗笑得灿烂。
现在锦旗还挂在茶水间,但上次集体活动已经是半年前了。
“帮我约A区三楼的会议室。”她突然调出知识库文档,“明天下午三点,把上次ERP索引丢失的事故分析加进材料。”
第二天15:00 A315会议室
投影仪在幕布上投出醒目的标题:《那些年我们填过的坑》,副标题写着“数据库故障复盘故事会(第一期)”。
徐璐把马克笔塞给缩在角落的小李时,发现对方眼神有点躲闪,不由反省自己是不是真的这么可怕 。
“从我开始吧。” 她点开自己加密的故障日志文件夹,大屏上突然出现五年前的邮件截图:
————————————
主题:紧急:生产库控制文件损坏
内容: 今日凌晨因存储阵列故障导致所有控制文件丢失,当前数据库无法挂载...
“当时我刚休完产假。” 徐璐的声音平静得像在讲别人的故事,“用老控制文件强行open时触发了ORA-01578,偏偏备份磁带机正在检修。”
会议室响起倒吸气声。
几个老员工交换眼神——这是部门禁忌话题,当年因为这个事故差点丢掉运营商大单。
“我抱着笔记本在机房坐了18小时。” 她调出当时手写的恢复流程图,“最后用隐含参数_allow_resetlogs_corruption打开数据库,然后立刻做全库逻辑导出。”
刘洋突然举手:“但Oracle官方明确警告过这个参数会...”
“会破坏数据一致性。” 徐璐接话,“所以导出数据后我们对比和校验了三天三夜。”她点开满是红线的校验报告,“找到137处数据块校验错误,全靠开发团队连夜写修复脚本。”
投影切换到感谢名单,二十多个泛黄的名字里,徐璐用红圈标出三个:“这三位前辈已经离职,但他们的日志分析工具现在还在知识库里。”
16:20 转折时刻
当小李颤巍巍站到台前时,徐璐忙里偷闲正用平板给女儿回消息。
“昨、昨天我误删归档日志...” 实习生刚开口就哽咽了,任谁工作第一个月就犯了大错都不好受,“当时徐工让我用RMAN做增量备份,但我忘了检查控制文件...”
徐璐突然起身走向白板,在“人为失误”的分类栏下重重画圈,说道,“这个标签该撕了。”
她在众人错愕的目光中调出操作审计日志,又补充道:“你们看小李的操作时序——他在删除前三次尝试过crosscheck命令,但系统提示归档日志验证失败。”