那年冬天,年终决算前夜,erp系统在凌晨两点彻底卡死。屏幕上的ora-00600错误代码跳出来时,我后背一阵发凉。财务部十个人等着过账,成本结转卡在一半,所有凭证动弹不得。数据库后台日志显示回滚段异常,前一天财务部刚导入了三万条固定资产卡片,触发了隐藏的物化视图刷新死锁。这个错误我见过三次,每次都是通宵。
我是财务部的系统运维负责人,同时管着工程项目的成本核算。两个岗位合在一起,好处是能同时看到数据流和业务流,坏处是出了问题,两个锅都得背。
先说那次死锁。我查到阻塞源头在库存模块——采购入库单与资产折旧表争抢同一行锁。杀掉阻塞会话后,数据库恢复响应,但132笔业务被回滚,物料账与总账对不上了。那时候我做了三件事:第一,冻结所有批处理作业,导出库存差异明细;第二,手工执行成本卷积脚本,逐月重算移动平均价——跑错两次,因为计价方法从标准成本改过实际成本,历史表结构不一致;第三,用sql拼接出调整凭证,凌晨四点半账面平了。
但这篇总结要写的不是技术。评审专家想看的,是我作为会计负责人,对这个故障的财务判断。那132笔回滚导致当月发出商品成本少结转了86万,存货虚增,利润虚高。我手工调整时,借方挂了“主营业务成本”,贷方冲了“库存商品”,同时补提了2.3万的存货跌价准备——因为回滚期间有一批原料市价下跌了。审计师后来抽到这笔凭证,问我依据,我拿出了当时的期货报价截图和公司存货减值管理办法。他们没再追问。
死锁修复后,我写了十二页的《erp死锁应急操作手册》,其中一条被写入集团制度:每月结账前必须重建物化视图刷新组。另一条更关键:固定资产批量导入单次不超过五千条,并错开高峰时段。但真正让我后怕的,不是技术,而是管理漏洞——财务部没有专职的系统测试岗,所有补丁验证都靠业务人员兼职;成本核算逻辑变更后,数据库索引没人优化。这两个问题我在季度会上提过三次,没人当回事。直到出了事,总监才问我:“你怎么不早说?”我说:“我说了,记录在会议纪要第23页。”会议室安静了三秒。
更让我窝火的是一次付款纠纷。同一家供应商在系统里存了三条记录,分别对应三个不同银行账户。采购订单选了一条,发票选了一条,付款又选了第三条,最后挂账混乱,供应商起诉我们逾期付款。公司赔了滞纳金,法务部找我谈话,问我财务内控怎么做的。我翻出半年前的邮件,里面建议过每月执行主数据一致性检查,附件里甚至写









