案例背景:

今天一大早用户打电话来讲昨天上传的银行的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. MySQL源码学习——DBUG调试

    一.前言 在规模稍微大点的项目中,为了方便快速找到bug的所在,我们往往需要在代码中加入一些调试用的代码,比如加入一些printf,打印出一些重点的信息:加入assert,进行断言判断.这些比较随意的 ...

  2. FFmpeg常用命令 (一)

    常用参数说明: 主要参数:-i 设定输入流-f 设定输出格式-ss 开始时间视频参数:-b 设定视频流量,默认为200Kbit/s-r 设定帧速率,默认为25-s 设定画面的宽与高-aspect 设定 ...

  3. mybatis 优缺点和适用场合

    MyBatis 是支持定制化 SQL.存储过程以及高级映射的优秀的持久层框架, MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以对配置和原生Map使用 ...

  4. ubuntu 安装配置 JDK7和Android Studio(apt-get方式)

    Ubuntu 安装配置JKD 7 $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get ...

  5. 线段树优化建图(cf787d, 2019Wannafly Winter Camp Day7 Div1 E)

    线段树优化建图,用于区间到区间建边时降低空间复杂度 建立两颗线段树,一颗in, 代表进入这个区间,一颗out,代表从这个区间出去 in树从父亲向儿子建边,代表宏观进入整个区间,不向下寻找 out树从儿 ...

  6. CF-831C

    C. Jury Marks time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  7. Flutter实战视频-移动电商-21.分类页_类别信息接口调试

    21.分类页_类别信息接口调试 先解决一个坑 取消上面的GridVIew的回弹效果.就是在拖这个gridview的时候有一个滚动的效果 physics: NeverScrollableScrollPh ...

  8. 洛谷 - P1338 - 末日的传说 - 打表

    https://www.luogu.org/problemnew/show/P1338 先打表看了一下规律,居然看出来n的位置是阶梯往前的.而每个阶梯的头头,必有后半段降序. 再仔细看一下居然每次交换 ...

  9. POJ3735【矩阵快速幂】

    逛了一圈...觉得这篇讲的比较清楚:传送门~ 简要概括: 1.线性代数的知识,单位矩阵的利用:(如果不知道单位矩阵的,先去补习一下线代,做几题行列式就会了): 2.然后构造好矩阵以后,直接做M次乘积运 ...

  10. Shader第二十八讲 Compute Shaders

    http://blog.sina.com.cn/s/blog_471132920102w97k.html 首先简单介绍GPGPU programming 和CPU Random Memory Acce ...