案例背景:

今天一大早用户打电话来讲昨天上传的银行的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. Persistent connections CONN_MAX_AGE django

    Persistent connections¶ Persistent connections avoid the overhead of re-establishing a connection to ...

  2. 简单三步快速学会使用Mybatis-Generator自动生成entity实体、dao接口以及mapper映射文件(postgre使用实例)

    前言: mybatis-generator是根据配置文件中我们配置的数据库连接参数自动连接到数据库并根据对应的数据库表自动的生成与之对应mapper映射(比如增删改查,选择性增删改查等等简单语句)文件 ...

  3. zabbix proxy安装及使用

    首先我萌先理解下为什么要突然冒出zabbix proxy 它是一个代理,也就是agent与server的中间层,他会代替server收集agent的数据保存起来,然后推送给server,那么很明显,它 ...

  4. bzoj4520

    KD-tree+堆 多年大坑 KD-tree已经是半年前学的了,忘记了.这道题当时一直T,今天重新抄了一遍,A了 KD-tree过程:1.建树:每次依次按x,y划分平面,像二叉搜索树一样建树,每个点维 ...

  5. css 属性相关

    css属性相关 宽和高 width属性可以为元素设置宽度, height属性可以为元素设置好高度 块级标签才能设置宽度,内联标签的宽度由内容来决定. 字体属性 文字字体 font-family 可以把 ...

  6. HTML学习笔记(六)TCP/IP

    TCP/IP 是供已连接因特网的计算机进行通信的通信协议. 在 TCP/IP 中包含一系列用于处理数据通信的协议: TCP (传输控制协议) - 应用程序之间通信 UDP (用户数据包协议) - 应用 ...

  7. Fitnesse 之 Script Table

    在表中每一行代表一个执行脚本. 第一行中的Script关键字表明表格类型,后面紧跟着类名(Fixture)和构造函数中的参数.在一个测试页中如果没有再指定其它Fixture,将一直沿用上一个Fixtu ...

  8. layui icon样式1到7

    1: 2: 3: 4: 5: 6: 7:

  9. 自定义Mybatis返回类型及注意事项

    一.自定义返回拦截器package com.yaoex.crm.service.util; import org.apache.ibatis.session.ResultContext;import ...

  10. Python 3.x 的一些注意事项

    1. reload 被更改 需要 在console执行 from imp import reload 才能调用CT 同时,如果py文件是位于主文件夹深部的位置,可以这么做: import ComicT ...