【事件背景】

近期,美国国务院负责审批旅游证件的全球资料库发生故障,令美国护照和签证工作出现严重的延误,可能让全球申领美国签证或美国护照的工作受到延误。

据知情人透露,美国签证系统的数据库升级是从10.2.0.3到10.2.0.5,运行在Windows 2003上面。但无论是数据库还是操作系统,都已经不在版本的服务周期里面(下面有展示)。更糟糕的是,他们在做升级操作之前从来都没有在备库演练过,从而造成了系统宕机。这是一个非常大的升级数据库的问题。

【相关分析】

这次的故障案例,对计划进行数据库升级的国内企业也是个提醒。尤其对于超大规模的,且影响范围很大的数据库升级来说,做好充分的准备是必不可少的。借此签证系统故障事件,谈一下数据库系统升级策略以及一些注意事项。

下图为Oracle 10g、11g、12c版本数据库的服务周期,供参考:

Oracle数据库产品当前的支持策略和周期

(注意图示中红色代表版本序列,ES为扩展支持期,有免费期和付费期(但是前提是必须有买基本服务才能进入扩展支持期),绿色代表小版本Patch信息,而每个Patch的终点即是该版本的最后支持期,过了最后支持期将不再提供服务支持。)

升级策略的主要内容分为四部分:升级方法、时间安排、应用测试、如何回退。

升级方法


根据客户的数据库环境不同,需要制定对应的升级方案。升级的常规方案有以下3种:

1.常规的导入导出,EXP/IMP

2.DataGuard(Redo Apply、SQL Apply)

3.Oracle GoldenGate

各个方案的优劣势:

优势

方案1:EXP/IMP的操作简单,不限于任何平台和版本。

方案2:数据一致性高,升级后无需校验。在备库升级,失败后回退较方便。

方案3:可跨平台,跨版本升级。

劣势

方案1:操作时间会很长。例如数TB的数据导入导出需要多久,用户是否是可以接受的。

方案2:DG对环境要求比较严格,例如数据库版本、操作系统版本、硬件结构都需要一致。

方案3:存在较多Bug,存在数据不一致的可能,存在对象状态不一致的可能。

时间安排


在时间安排上,精细化管理项目流程,其中项目流程模块涉及到:项目调研、软件安装、流程测试、应用测试、文档总结、正式升级、升级保障。对于不同的项目模块,要考虑好人天的规划。如下图所示:

时间规划

应用测试


应用测试这一章节是非常重要的环节,在升级(迁移,上线)前一定要做好严格的测试工作,这是检测应用切换过去是否还可以稳定运行的重要环节。

应用测试分为性能测试,功能测试,压力测试。性能测试里面很重要的一个环节叫做SPA测试。

(SPA:SQL Performance Analyzer,可用于预测和防止由于数据库环境改变,影响了SQL执行计划的结构而引起的潜在性能问题。)

以下是大体的测试步骤:

应用测试

(具体的SPA步骤,请点击原文链接阅读)

回退方案


何时需要回退?

1.升级(迁移)时

在升级过程中,例如出现操作时间超过了预期、脚本运行异常、回归测试失败等,需要做回退。

2.升级(迁移)后

在升级之后的正式运行中,出现例如数据库性能降低,数据库宕机等,需要做回退。(据网友透露:这次就是因为签证系统升级之后,没有相对应的回退方案而导致故障处理的延迟。)

如何选择回退方案 ?

1.迁移时失败,直接切回原环境。

2.运行中故障

  • EXP/IMP数据回迁

  • 所有数据入库时同时更新两套库

  • Oracle GlodenGate数据同步

升级的7大注意事项


1.在计划调研过程中,一定要考虑周全,在项目开始前预先思考方案与可能遇到的问题,并大量测试。

2.正式迁移升级前,形成完整的文档,编写完整的升级脚本,确保升级的快速、稳定。

3.迁移与升级的测试一定要反复操作,确保整个流程确定无疑义,详细记录所有操作过程中的所有错误。

4.升级(迁移)的项目涉及到网络,存储,交换机,主机,开发人员,维护人员,对于项目管理来说也是一个挑战。对于每个环节的精细化时间管理也是必不可少的。

5.应用测试一定要充分而且具体,需要完全覆盖所有业务应用,测试所有的业务功能点,不仅仅只限于点点按钮。

6.详细的回退方案能减少故障处理的时间。

7.即便做好了充足的准备,在关键时刻,也要尽量调集各种资源备用,这样在出现异常突发事件时,也才能做到快速响应,影响最小化。

数据库升级是一个很大很重要的项目,无论在技术、项目管理,人员储备等各方面都是很重要的,我们都应该重视每一个环节。如果美国签证系统在升级前,也能做好这一系列充分的准备,并经过严格的测试,那么,像这样的故障理论上是不会发生的。

云和恩墨对数据库升级(迁移)项目中,多次按照这套成熟的升级流程,实现了“快速、高效、无缝、透明”的数据库升级。我们为用户的数据保驾护航。


云和恩墨

国内数据服务行业领导者

整合·优化·咨询

联系我们

电话:010-59003186-8019

邮件:marketing@enmotech.com


配图来源于网络

【重点解析】美国签证系统故障背后相关的数据库问题相关推荐

  1. 美国访问学者申请签证存款证明相关事宜

    申请国外的访问学者很多需要存款证明,那么我们应该怎么面对存款证明的问题,51访学网小编下面就为大家整理了一些关于存款证明的问题. 1.什么是存款证明呢? 存款证明是指银行为存款人出具证明,证明存款人在 ...

  2. Zoom 袁征码农逆袭:8 次申请美国签证被拒,独闯硅谷成亿万富翁

    作者 | 哈那 出品 | 出海瞭望(ID:Globalinsights) Zoom,袁征(Eric S. Yuan). 这可能是你最近在中外科技.财经类报道里经常看到的关键词.继去年成功在纳斯达克上市 ...

  3. 美国签证过不了,ICLR 2020搬到埃塞俄比亚,同性恋学者:不去,保命要紧

    郭一璞 发自 北境凛冬  量子位 报道 | 公众号 QbitAI 美国签证真是越来越难搞了,尤其在川普上台后,签证没过已经成为了阻挠广大地球人民读书.学习.旅游.炼丹--的最大理由. 于是,Yoshu ...

  4. 美国签证经历(完善中)

    美国签证经历 2008年,根据公司业务发展需要以及集团公司的规划,在今后2年内部署Smartplant suite(2D+3D+other).一月份,老板决定让我和另外一同事去美国参加5月底集团在休斯 ...

  5. [美国签证]准备材料及面签过程

    作为第一次准备出国的小白,记录第一次懵懂的经历: 背景介绍:商务签B1,赴美参加一次国际会议,学校资助 3-14  大早上起床后查看手机发现收到了文章的录用函,而且中的是oral.导师说学校好像有资助 ...

  6. 美国签证DS-160填表指南(内含图文)

    第一次拿美签是在2014年,那时还没有美签十年.第二次拿美签是在2016年,免面签,拿到十年签证.因为最近几年总是有许多去美国参加 Google IO 和旅行的小伙伴问我怎么申请美签,加上去年成功帮大 ...

  7. 解析波士顿Handle机器人背后的技术

    在斗鱼直播平台,浙大李超博士的公开课分享了关于handle的技术细节,解析波士顿Handle机器人背后的技术,观察敏锐,思路清晰. 内容介绍了波士顿动力公司的历代4足和2足机器人的开发历史.并结合李超 ...

  8. 美国签证办理需要户口本吗?

    在申请美国签证时,有关所需文件的问题常常令人困惑.关于是否需要提供户口本,知识人网可以向您解释一下相关情况. 首先,需要明确的是,美国签证申请并不要求申请人提供户口本.美国领事馆和大使馆在签证申请过程 ...

  9. 美国签证被拒签后怎么办?

    当你的美国签证被拒签后,可能会感到失望和困惑.然而,不要灰心,因为你仍然有一些选择和行动可以采取. 首先,了解拒签原因非常重要.美国签证拒签通常有很多原因,包括文件不完整.资金证明不足.提供虚假信息或 ...

最新文章

  1. JDBC高级特性3--JNDI,连接池,分布式事务
  2. CSS实战经验:灵活运行注释带来的益处(转载)
  3. 028_jdbc-mysql大文本
  4. 增强:MB1A物料价格检查
  5. 执着的力量——读《钢铁是怎样炼成的》有感
  6. java里的时间转换
  7. .net关于app.config的使用 对于自己的类库
  8. Kotlin学习记录1
  9. 服务器查看日志桌面版工具,系统日志查看工具(LogFusion Pro)
  10. 局域网内计算机无法互相访问,轻松几招解决局域网不能互相访问故障
  11. Java语法基础,课后实践
  12. 解线性方程组的迭代法(高斯-塞德尔迭代法)
  13. 机器学习模型部署文章存档
  14. 20190913:(leetcode习题)罗马数字转整数
  15. 乱斗西游2服务器修改,为我们的友谊干杯《乱斗西游2》转服功能邀你面基
  16. PHP中的错误处理set_error_handler()与trigger_error()的问题
  17. 高等数学(第七版)同济大学 总习题二 个人解答
  18. 解决斑马打印机打中文的问题
  19. DM368串口通信调试
  20. CSS(七)元素过渡、变化、动画

热门文章

  1. Wireshark抓包以及tcpdump抓包
  2. Integer缓存IntegerCache详解
  3. 《从0到1》读书笔记
  4. C# 图像 24位转32位(真彩色)
  5. python接入讯代理_python实现简单的TCP代理服务器
  6. 计算机窗口中找不到桌面,电脑桌面上的部分图标不见了怎么办啊
  7. 计算机科学与技术(嵌入式)四年学习资料_文件目录树
  8. 那一夜, 我懂了视频帧
  9. WF 系列--WF基础
  10. NSDateFormatter