案例背景:

今天一大早用户打电话来讲昨天上传的银行的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. HDU2546(01背包变形)

    饭卡 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...

  2. [Java] 练习题001:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

    [程序1]题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2 ...

  3. ASP.NET Core会议管理平台实战_1、开篇介绍

    用到四个数据库

  4. 洛谷1601 A+B Problem(高精) 解题报告

    洛谷1601 A+B Problem(高精) 本题地址:http://www.luogu.org/problem/show?pid=1601 题目背景 无 题目描述 高精度加法,x相当于a+b pro ...

  5. javascript runat server

    <script runat="server"> protected void SubmitBtn_Click(object sender, EventArgs e) { ...

  6. Channel的使用

    Channel必须要通过buffer来读写 1. Channel需要通过IO流的getChannel()方法获取 2. buffer需要通过Channel的map()方法获取 package com. ...

  7. PostgreSQL 务实应用(一/5)树形层级

    项目中,经常会碰到多级的树形结构数据,如地区信息,省.市.区.街道等,或客户关系信息上三级,下三级等. 实际项目中,我们可能碰到以下两种需求: 一条记录中呈现路径:省 - 市 - 区 - 街道 一条记 ...

  8. 黑科技抢先尝 - Windows全新终端初体验(附无需编译就能安装的Preview版本及代码Build全过程)

    目录 将Window 10 升级到1903版本 安装好git, 从github上clone代码 安装 VS 2019 和 .NET core 3.0 SDK 重定解决方案目标 设置好编译平台和启动的项 ...

  9. C++11 并发编程基础(一):并发、并行与C++多线程

    正文 C++11标准在标准库中为多线程提供了组件,这意味着使用C++编写与平台无关的多线程程序成为可能,而C++程序的可移植性也得到了有力的保证.另外,并发编程可提高应用的性能,这对对性能锱铢必较的C ...

  10. HDU5950【矩阵快速幂】

    主要还是i^4化成一个(i+1)^4没遇到过,还是很基础的一题矩阵快速幂: #include <bits/stdc++.h> using namespace std; typedef lo ...