案例背景:

今天一大早用户打电话来讲昨天上传的银行的forex payment return file好像没有被处理到,我一听就觉得纳闷,因为昨天晚上operator也没有给我打电话啊(如果有job failure的话,operator会电话通知 officer in charge)。想到事态可能比较严重,所以我立马放下手里的工作,开始紧急处理这个问题。

首先,我去查昨天晚上的job process, 确定相应的 job 没有被trigger, 所以肯定用户所提到的文件确实没有被处理到。

其次,去查文件是否有被传送到unix server 和windows NT server,很快确定文件存在NT server但是没有到达unix server。说明:用户以及外面其他的系统会把文件(voucher,journal等)SFTP 到NT server, 然后在晚上的时候所有的文件会再被FTP到unix server 做处理。到目前为止,初步怀疑是FTP的job 出了问题,在查看FTP job log 后确定问题发生在这里。

到目前为止,我们知道发生了什么问题,那就是昨天晚上所有的文件都没有被处理到,而且有的文件可能已经被新的文件覆盖掉了,所造成的影响是部分付款延迟一天,以及journal晚process一天,asset晚create一天,等等,当然,还有一点是我们的user会收到很多投诉。

跟PM阐明事态严重后,赶紧召开紧急会议,商讨如何应对。我的主张是:

1.告知用户现在有这个问题,以及我们即将采取的措施。

2.所有的文件应该赶紧transfer到unix server, 在确保文件传送无误的情况下把所有的文件 (voucher, journal,bank return file 等等)先process 处理到一定的阶段, 这个过程可能需要4-5个小时。

3.获取SFTP log, 找出那些已经被覆盖(overwriten)的文件,通知用户重新传送过来。

4. 我们必须采取紧急措施,在下一个batch开始之前(晚上8:30)完成所有的recovery action。

有个风格非常细心的同事提出了很多假设性的问题(what if ....),而且提议先拿到文件,分析后再做决定。最后都被我们否决,因为在这样紧急的关头,确实没有那么多的时间给你去讨论,让你去分析,因为时间拖的越久,所造成的影响越大,而且,可能会影响到晚上的night batch,并且,那些假设性的问题发生的概率几乎是微乎极微。最后的事实证明,我们的策略是对的,所有的文件在预定的时间内完成,后面需要面对的,就是用户的刨根问底了。

感悟:

在处理情况的时候,究竟是应该很周密的想到每一种情况还是应该当机立断快刀斩乱麻这完全取决于在什么样的情况下,如果是要设计/更改一个功能,这时候你有足够的时间,那当然是需要很仔细的想到每一个情况,即便发生的概率微乎其微也应当考虑进来,但是如果问题是需要马上就解决的,恐怕就由不得你在哪里深思熟虑了,因为,时间不等人,事故不等人啊。当然,当机立断的前提是你要对整个事件(系统内/系统外)有足够的理解,对自己对解决方案有足够的信心。

PeopleSoft FSCM Production Support 案例分析之一重大紧急事故发生时的应对策略的更多相关文章

  1. PeopleSoft FSCM Production Support 案例分析

    PeopleSoft FSCM Production Support 案例分析 2010年的时候曾建言博客园开辟Oracle ERP模块供大家交流,博客园如约开辟Oracle ERP 模块,而我后来却 ...

  2. ORA-04031错误导致宕机案例分析

    今天遇到一起ORACLE数据库宕机案例,下面是对这起数据库宕机案例的原因进行分析.解读.分析过程中顺便记录一下这个案例的前因后果,攒点经验值,培养一下分析.解决问题的能力. 案例环境:   操作系统 ...

  3. 18.jvm调优工具及案例分析

    目标: Jmap.Jstack.Jinfo详解 JvisualVm调优工具实战 JVM内存或CPU飙高如何定位 JState命令预估JVM运行情况 系统频繁Full GC导致系统卡顿实战调优 内存泄漏 ...

  4. ENode框架Conference案例分析系列之 - 文章索引

    ENode框架Conference案例分析系列之 - 业务简介 ENode框架Conference案例分析系列之 - 上下文划分和领域建模 ENode框架Conference案例分析系列之 - 架构设 ...

  5. ENode框架Conference案例分析系列之 - 事件溯源如何处理重构问题

    前言 本文可能对大多数不太了解ENode的朋友来说,理解起来比较费劲,这篇文章主要讲思路,而不是一上来就讲结果.我写文章,总是希望能把自己的思考过程尽量能表达出来,能让大家知道每一个设计背后的思考的东 ...

  6. SQL性能优化案例分析

    这段时间做一个SQL性能优化的案例分析, 整理了一下过往的案例,发现一个比较有意思的,拿出来给大家分享. 这个项目是我在项目开展2期的时候才加入的, 之前一期是个金融内部信息门户, 里面有个功能是收集 ...

  7. CSS3-3D制作案例分析实战

    一.前言 上一节,介绍了基础的CSS3 3D动画原理实现,也举了一个小小的例子来演示,但是有朋友跟我私信说想看看一些关于CSS3 3D的实例,所以在这里为了满足一下大家的需求,同时也为了以后能够更好的 ...

  8. 实时控制软件设计第一周作业-汽车ABS软件系统案例分析

    汽车ABS软件系统案例分析 ABS 通过控制作用于车轮制动分泵上的制动管路压力,使汽车在紧急刹车时车轮不会抱死,这样就能使汽车在紧急制动时仍能保持较好的方向稳定性. ABS系统一般是在普通制动系统基础 ...

  9. 个人作业-Week2 案例分析

    微软必应词典客户端的案例分析 第一部分 调研,评测 1)bug: 运行平台:iOS 10.0.2 必应词典版本:4.2.2 1. bug标题:词库加载错误 bug详细描述:学习界面中的经典词库出国考试 ...

随机推荐

  1. vue不支持IE8的原因

    当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性, 并使用 Object.defineProperty 把这些属性全部转为 getter ...

  2. C++之运算符重载(前置++和后置++)

    今天在阅读<google c++ 编程风格>的文档的时候,5.10. 前置自增和自减:有一句话引起了我的注意: 对于迭代器和其他模板对象使用前缀形式 (++i) 的自增, 自减运算符.,理 ...

  3. 配置哨兵监控Redis运行情况

    Redis的主从架构,如果master发现故障了,还得手动将slave切换成master继续服务,手动的方式容易造成失误,导致数据丢失,那Redis有没有一种机制可以在master和slave进行监控 ...

  4. chrome提示您的连接不是私密连接

    在实验室登陆qq邮箱总是提示连接不是私密,感觉是上级路由器配置的问题,或者是被监控了.反正邮箱也没啥东西,干脆直接删除这个提示.解决方法如下,测试可用. 解决:我想打不开百度网页是因为chrome强制 ...

  5. C++STL 求和:accumulate 【转】

    该算法在numeric头文件中定义. accumulate()的原型为(文件取自DEV-C++编译器): template<typename _InputIterator, typename _ ...

  6. mysql分页性能

    - select * from userinfo limit 20000,10  # 数据越往后越慢 - 索引表中扫: select * from userinfo where id in (sele ...

  7. JAVA基础--JAVA API常见对象(包装类和正则)12

    一.基本类型包装类 1.基本类型包装类介绍 8种基本类型: byte  short    int    long    float   double   char   boolean 这8种基本类型它 ...

  8. 参考手册(html css)

    HTML CSS DOM XML DOM   XML DOM Document JavaScript JavaScript RegExp JSP

  9. 深入探究Java中equals()和==的区别是什么

    目录 相等判断符"==" "=="判断基本类型数据 "=="判断引用类型数据 相等判断方法equals() 思考:为什么要设计equals( ...

  10. 在ANGULAR6中使用Echarts的正确方式之一

    这里的正确指的是不会在运行过程中报错,不会再prod模式下编译报错,不会再AOT模式下编译报错 个人环境说明: { "name": "angular-for-echart ...