热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

生产环境上线程序导致服务故障案例解析

生产环境上线发布程序导致服务故障案例解析(老男孩郑重声明:本文不针对任何公司和个人,仅供大家学习交流之用)1由生产操作失误引起的故障...................

生产环境上线发布程序导致服务故障案例解析(老男孩郑重声明:本文不针对任何公司和个人,仅供大家学习交流之用)1由生产操作失误引起的故障...................

生产环境上线发布程序导致服务故障案例解析

(老男孩郑重声明:本文不针对任何公司和个人,仅供大家学习交流之用)

2

2

2

3

4

4

6

6

6

6

7

7

7

7

1 由生产操作失误引起的故障

以下来自【操作人】的总结:

对于我司项目一次上线数据库误操作故障的总结:

我司相关人员在前天开过上线会议后,定于过后一天进行生产系统发布:

事情是这样的

首先呢,我先说下我司项目的上线流程:

老男孩老师评价:该公司的上线流程还是不错的,赞下,还有很多公司FTP直接上线的,不可取,堵住后门,监控好前门,是我一直给大家讲的。

话说那天测试通过后,项目上演练环境和生产都是由我【操作人】来负责:

然后我给我主管打电话了,说明了问题,他说让我别急,先保证生产服务正常运行。。。

由于我的这个误操作,开发的项目经理都疯了。。。然后立马惊动了公司技术部老总,然后老板

然后老板立马又召开紧急会议,说数据现在找不回来,后台查不到,一旦有用户投诉,免备案空间,说多少钱立马退多少钱

唉呀,我的这个脑子啊……

当天的上线取消了。。。

其实后来想我当时急着回滚是错误的,应该先问下开发的那边是否执行成功了,或者我查下进程。开发的后来也是这么给我说。

还有一点当时公司网络中断也是个事。。。网络不稳定不应该上线(那天供应商那边网络有问题,没有给及时通知)

有的会问只有一台数据库吗,问的好,我们是有主备两台数据库的,问题是在国庆假期期间机房切电源的时候,宕机了,然后启动后进主数据库找不到库了,当时那个急啊,然后就立马切换到备份的服务器上了,主的没有起,后来找到了主的为什么找不到库的原因(是因为机器启动后分区没有自动挂载上,手动挂载上后进数据库立马找到了),但由于这个时候从数据库和主的已经不同步了,就暂时用的从的,想等下次上线的时候在处理下,所以这次上线的时候就一个数据库。这是我们系统部没有做到位。

还有要说的一点就是我前面提到了演练环境,我为什么会动到了生产,事情是这样的,没有演练环境我部门也多次给领导提了,但领导不批买设备,然后就是每次演练的时候其实我动的也是生产(只是针对的这个项目没演练环境,其他的有),演练,什么是演练,表演练习嘛,肯定不能动到生产,但演练环境必须和生产一样。

最终我写了检讨书。唉,苦逼啊!

14)项目负责制,上线,日常网站出问题,开发有责任,不能只责问运维,运维是开发商,开发是住户,基础系统和网络没故障,一般来说运维就无能为力了。

1.4从操作者那得到的其他信息

SQL语句都是新表,有建表,插入,更新等语句。这样的话出问题整个数据库回滚就没必要了。

1.5给操作者的建议

老男孩 17:58:28
在不


操作者网友 17:58:37
在,还没下班呢


老男孩 17:58:48
事情过去了,好好汲取教训就好了,别难过了。


操作者网友 17:58:55
嗯,


老男孩 17:58:58
谁都会犯错,老师曾经也犯过错误。

以后亡羊补牢改正就好。


操作者网友 17:59:19
嗯,明白了,记住了


老男孩 17:59:24


操作者网友 17:59:31
在不犯这样的错了


老男孩 17:59:38
框架留给我。

操作者网友 18:00:01

推荐阅读
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文介绍了如何使用 PostgreSQL 的 `UPDATE ... FROM` 语法,通过映射表实现对多行记录进行高效的批量更新。这种方法不仅适用于单列更新,还支持多列的同时更新。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文详细介绍了如何使用libpq库与PostgreSQL后端建立连接。通过探讨PQconnectdb()函数的工作原理及其在实际应用中的使用方法,帮助读者理解并掌握建立高效、稳定的数据库连接的关键步骤。 ... [详细]
  • SQL中UPDATE SET FROM语句的使用方法及应用场景
    本文详细介绍了SQL中UPDATE SET FROM语句的使用方法,通过具体示例展示了如何利用该语句高效地更新多表关联数据。适合数据库管理员和开发人员参考。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • 本文详细介绍了HTML中标签的使用方法和作用。通过具体示例,解释了如何利用标签为网页中的缩写和简称提供完整解释,并探讨了其在提高可读性和搜索引擎优化方面的优势。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 使用C#开发SQL Server存储过程的指南
    本文介绍如何利用C#在SQL Server中创建存储过程,涵盖背景、步骤和应用场景,旨在帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文探讨了适用于Spring Boot应用程序的Web版SQL管理工具,这些工具不仅支持H2数据库,还能够处理MySQL和Oracle等主流数据库的表结构修改。 ... [详细]
author-avatar
860800156_64d713
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有