前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >数据库有故障怎么了?

数据库有故障怎么了?

作者头像
Alfred Zhao
发布于 2024-01-07 02:49:10
发布于 2024-01-07 02:49:10
1820
举报

数据库故障是不可避免的,任何软件,无论是开源类还是商业类,只要是人创造的,就一定会存在产品缺陷(bug),软件越复杂,承载任务越繁多,触发bug的概率就越大,这是IT人的基本常识。

快速定位能力的关键性

真正重要的是,在出现故障时,如何迅速而有效地应对故障,定位故障根因并给出有效的解决方案,这才是确保业务连续性和稳定性的关键。也是决定一款数据库是否成熟的一项关键指标。

可是,也不知道当下风气是怎么了,好多人吧,不踏下心来好好研究自家产品,反而喜好打听别家谁出了啥故障,打听到后就跟中了彩票一样兴奋,之后就开始大作文章,跟客户直接说这产品不行。不晓得这些人是纯粹的天真,不知道这个道理,还只是为了各自利益,揣着明白装糊涂呢?

聊到数据库的故障,这里先抛开其他除数据库本身之外进而引发数据库故障的复杂情况不说,也暂不去讨论因用户操作使用不当这类导致的故障,就只是单纯的聊下所谓很严重的产品本身bug导致的故障。

为了客观,避免有些人又喜欢去对号入座,我们就以业界公认领先的,各方面指标均很优秀的商业数据库产品Oracle来举例,因为它本身承载着当今世界众多重要客户的核心系统,这些人总不能去喷Oracle这款数据库产品也不行吧。

Oracle产品本身bug多么?

Oracle产品本身bug多么?

其实真的很多。

但凡你有在生产环境部署过Oracle数据库,应用过PSU/RU补丁集,就会发现光是建议应用的这些补丁集列表中的bug就非常多,opatch lsinventory 列出的bug号码都能铺满好几页屏幕。

可是,因这些产品bug导致的故障多么?

如果单拎出来某一个客户来讲,其实是不多的,甚至还存在许多自使用以来从未遇到任何软件bug导致故障的幸运客户,尤其一些IT建设比较薄弱的客户,虽然购买了Oracle,但也没打啥补丁,甚至一直连MOS都没登录过,压根儿就没遇到任何产品bug引发的问题。

但是每个bug其实都直接或间接的对应了某个场景下的故障,那这么多隐秘的bug在测试时都没发现,最终又都是咋发现的呢? 反而是因为Oracle太流行,用户太多太广了,开头也提到了,bug这东西本身触发概率并不高,再举个量化的例子,比如说某个bug只有万分之一的概率被用户触发,也就是说1万个用户里面估计也只有一个人能有幸遇到,于是他遇到过提交给官方,出补丁,其他客户定期更新补丁集,就不会再遇到这个bug。

另外,如此庞大复杂的软件其实bug有很多的,但因为你这个场景遇到了A bug,我这个场景遇到了B bug,他那个场景遇到了C bug... 不断完善,你要是想成为全球第一个遇到某个bug的用户,其实都不太容易呢,所以产品稳定性得到了保障。

如果你的IT管理很有章程,按照官方的建议,定期更新推荐的补丁集,实际上就很难遇到bug带来的影响;即使有的客户因各种原因没有及时应用推荐的补丁集,某一天好巧不巧的触发了某个bug,基本MOS一查现象,也大概率会是已知bug,别人早就遇到了,补丁都是现成的,你只需要及时应用这个补丁即可解决。

小概率事件就可以忽略吗?

既然这样,那用户真的就可以无为而治,万无一失了吗?

也不是,小概率事件不等价于不可能发生事件,为了万无一失,还是要确保你所使用的版本在支持周期之内。这也是为什么有的用户讲我不用你新版本的new feature,为啥也要跟着升级版本的原因之一。

很多人会抱着侥幸心理觉得无所谓,自己不会那么倒霉,但一旦真的不幸遇到就会痛苦不堪。

这里再举个实际的例子吧,比如最近就遇到了一个case,简单说的确是因为产品本身bug导致的故障,现象是ADG的Redo Apply缓慢,这个bug其实也非常隐蔽,因为正常平时延迟都是0,根本发现不了,可运气不好的是,恰好在某个重要保障节点,因为OOM类的原因导致ADG同步被意外终止,且也没有被及时监控到,等用户感知到时,已经有了数小时的延迟,正常情况下,这问题也不大,重新启动同步进程Redo Apply也是很快会追平,可此时不幸的发现追日志的效率异常缓慢,基本相当于延迟多久就追了多久,虽然MOS能查到这个问题,也是一个已知的bug,但更不幸的是,目前在MOS上针对这个bug只有Linux平台的现成补丁,而客户的系统是AIX,并没有找到对应补丁,同时与后台SR进一步确认,确认是真没有,且研发也不会再出这个补丁了。

为什么呢?

因为这是一个老的数据库版本,已经不在支持周期内,研发不会为此提供新的补丁。

好在这个bug不算硬伤,追上这次意外的gap之后就可以保持同步,可风险其实依然存在,在升级之前,我们也只能加强监控,避免类似问题发生影响,并强烈建议尽快把版本升级提上日程。

可能有人会讲,一个已知bug,别的平台都出了补丁,为啥就不能也给出个其它平台的补丁呢?要知道打个one-off的patch是很轻松的事情,但大版本升级可是一个大动作,还要协调应用测试配合,干嘛搞这么复杂呢?

其实这样的策略才是真正的对客户负责,也是很合理的,首先Oracle一直都建议用户要使用当前有效期内的LTS长期支持的版本,这样才能集中更多人来更好的保证你的稳定性,Oracle的LTS其实已经是支持周期非常久的了。

而且,不升级的话,就算研发帮你修复了这个bug,但是后续的风险其实会更大,这种已不在支持周期内的版本,万一下次遇到的bug是非常严重的呢?

数据库有故障怎么了?

最后,回到正题,数据库有故障怎么了?

还是那句话,数据库是一个软件,而且是一款非常复杂的软件,遇到故障是再正常不过的,如何迅速而有效地应对故障,定位故障根因并给出有效的解决方案,这才是确保业务连续性和稳定性的关键。

如果说谁家的数据库产品至今为止,都没有任何产品bug导致的故障案例,那并不代表这个数据库产品有多稳定,反而大概率是这个产品的用户量不够,没有积累到足够量的用户去踩到坑而已。

与其纠结这个无意义的话题,不如多多修炼内功,做些真正的实事。

如果是用户角度,首先要了解如何正确的使用自己选择的这款产品,最起码要能避免一些低级错误引发的故障;要知道即便是Oracle的用户群中也存在这样一波人,就是喜欢不读文档不看MOS,凭着自己的感觉不按官方建议的各种瞎搞,结果在一次次变更中因为理解错误、考虑不周导致故障频发,彷佛用的是一款山寨产品一样,最后埋怨产品不稳定,花大价钱找专家兜底排查,结果发现根因全都是胡搞导致的。

如果是厂商角度,不要怕故障,而是会在每次故障后做好支持服务,积累经验,其实可以参考Oracle的做法,建立类似MOS一样的知识库,提供完善且有实际意义的官方文档,至少确保自己的用户群中,有心学习的人是可以依据官方文档的内容,正确的使用产品、排查常规问题。即便是遇到一些疑难的,诸如产品的bug引发的故障,那也不是黑料,而是不断帮助厂商完善产品的弹药。

当然,现实真正要做到这些都不是容易的事情,但DB这个赛道本就不是容易的。如果没想好,还不如先多多去学习别人先进的经验,而不是自己的产品都没几个用户使用,却忙着去挖别人的“黑料”恶意竞争。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《周处除三害》之遇到数据库害虫(Bug)怎么破
周处除三害出自《晋书·周处传》和《世说新语》,明朝人黄伯羽改编为《蛟虎记》传奇,广为流传,京剧中仍保留有《除三害》剧目。
JiekeXu之路
2024/03/21
1360
《周处除三害》之遇到数据库害虫(Bug)怎么破
积极拥抱互联网化 北京电信核心数据库完成跨平台迁移
“变化,无论是突如其来的,还是循序渐进的,有时都会淘汰你认为理所当然的一切。忽略这一现实,就像近年来许多领导者那样会带来毁灭性的后果。”商业大师拉里·博西迪在他的畅销书《转型》中曾写下的这段话,如今看来依然经典。唯一不变的就是变化,传统行业面对互联网、数字化的冲击,必须积极需求转型来应对变革。
数据和云01
2018/09/05
6410
【DB笔试面试855】在Oracle中,简单说说PSU升级的过程
首先需要了解一些有关PSU(Patch Set Update)、CPU(Critical Patch Update)、BP(Bundle Patch)等概念,参考下表:
AiDBA宝典
2020/08/13
6180
【DB笔试面试855】在Oracle中,简单说说PSU升级的过程
防范攻击 加强管控 - 数据库安全的16条军规
近日的数据安全事故,引发了很多企业的普遍关注,而不少用户从彻查中确实发现自己的数据库已经被注入,这为大家上了数据安全的重要一课。 甚至有的企业要求停用PL/SQL Developer这一工具,虽然这从制度上关上了一个门,但是我们知道数据库类似的门如此之多,如何能够从根本上提升数据库管理的安全,减少数据运维风险呢? 我曾经在《数据安全警示录》一书中总结了种种数据安全风险,提出了很多预防措施和手段,在此整理其中的一些建议供大家参考,当然大家也可以从云和恩墨的安全服务中获得帮助。 我在书中提出了数据安全的五个纬度
数据和云
2018/03/06
1.6K0
防范攻击 加强管控 - 数据库安全的16条军规
频发:记ADG备库日志应用延迟的一次故障处理-云和恩墨技术通讯精选
为了及时共享行业案例,通告共性问题,达成知识共享和提前预防,我们整理和编辑了《云和恩墨技术通讯》(7月刊),通过对过去一段时间的知识回顾和故障归纳,以期提供有价值的信息供大家参考。 同时,我们也希望能够将热点事件、新的产品特性及其他有价值的信息聚集起来,为您提供具有前瞻性的支持信息,保持对于当前最新的数据库新闻和事件的了解,其中包括重要数据库产品发布、警报、更新、新版本、补丁等。
数据和云
2019/07/22
2K0
频发:记ADG备库日志应用延迟的一次故障处理-云和恩墨技术通讯精选
数据库升级正当时
Oracle数据库的10g版本在7月31日结束了Extended Support - 扩展支持阶段,正式进入Sustaining Support - 持续支持阶段,在这个阶段,Oracle将不再提供补丁支持。也即Oracle 10g开始退出主流版本舞台。 这一切伴随着Oracle 12c的发布,更加推动用户去更替数据库版本,如题图所示,Oracle 11g版本自2007年发布以来,已经过去了7个年头,这期间11g版本经受了时间和应用的考验,已经成熟,而且根据规划,11g的新的补丁集11.2.0.4原本应该在
数据和云
2018/03/05
8080
2021年4月Oracle数据库补丁分析报告
编写此文档为了更好地指导Oracle补丁安装工作,细化工作任务,规范安装升级操作。
数据和云
2021/05/31
2.4K0
预警揭秘:倒计时炸弹11.2.0.4前版本DB Link必须在2019年4月升级真相
在 Oracle 官方支持站点 MOS 上,最近发布了两篇告警文章,引发了用户的广泛关注,这两篇文章分别是: Oracle Databases Need to be Patched to a Minimum Patchset/PSU/RU level before April 2019 (Doc ID 2361478.1) Mandatory Patching Requirement for Database Versions 11.2.0.3 or Earlier, Using DB Links (Doc
数据和云
2018/03/29
9830
预警揭秘:倒计时炸弹11.2.0.4前版本DB Link必须在2019年4月升级真相
记录一则ADG备库报错ORA-29771的案例
有客户找到我这边咨询,说他们的一套核心ADG库在业务高峰期报错,因为业务做了读写分离,其备库也实际承担读业务,所以备库故障也会对业务产生影响。
Alfred Zhao
2023/05/01
4470
关于炉石传说的Oracle数据库故障不要以为你也可以幸免
最近暴雪公司和网易的一则声明刷爆了朋友圈,大意就是由于『供电意外中断的原因而产生故障,导致数据损坏』,这样一则公告引发了一系列的猜想,我们在围观时仿佛人人都是诸葛亮,而事实上设身处地,我想在一次负责任
数据和云
2018/03/07
1.4K0
关于炉石传说的Oracle数据库故障不要以为你也可以幸免
Oracle 118C 版本发布策略的变更
Oracle的版本发布和补丁策略一直没有太大的调整,基本保持3-4年一个大版本,两代产品之间会出一个Release 2。这种策略的好处是能够保证系统的稳定性,一个新的大部分更新到Release 2时,基本被认为是比较稳定的版本,保守的用户一般会选择这个版本进行升级。
星哥玩云
2022/08/17
3050
Oracle 118C 版本发布策略的变更
技术前沿:Oracle 18c 最新特性概览
作者简介 Joel Perez Oracle ACE Director,云和恩墨高级云技术专家 自从今年OOW上Oracle宣布要推出18c,一直受到比较多的关注。那么Oracle 18c对于广
数据和云
2018/03/08
1.2K0
技术前沿:Oracle 18c 最新特性概览
2016年度中国Oracle数据库使用现状分析报告
Oracle数据库从20世纪末就已开始在国内使用,在经历了20多年的迅猛发展后,目前已经占据了全球数据库的首位,在国内拥有数十万的技术粉丝与数万家企业用户,但到目前为止,还从未有过一份报告让我们真正了解真实国内Oracle数据库使用现状,而【2016年度中国Oracle数据库使用现状分析报告】将为我们带来真实的现状展示。 Bethune基于真实用户数据库体检数据所提供的的【2016年度中国Oracle数据库使用现状分析报告】,为我们带来了大视角的国内Oracle数据库使用实景展现,在调研了大量Oracle数
数据和云
2018/03/07
1K0
2016年度中国Oracle数据库使用现状分析报告
故障分析:数据库一致性关闭缓慢问题诊断
想必我们大家都知道,Shutdown immediate即一致性关闭数据库,数据库下次启动不需要做实例恢复即可open数据库。那么当数据库一致性关闭出现缓慢等状况时,该怎么办呢?那我们就来一起分析一下,数据库一致性关闭缓慢问题。 shutdown immediate在数据库中会做哪些操作? 从以上图得知在shutdownimmediate关闭数据库只需要在数据库中强制选择检查点并关闭文件,不需要等待当前事物处理结束,不需要等待当前会话结束,不允许新连接。 引发shutdown immediate slo
企鹅号小编
2018/01/25
7170
SCN、ORA-19706错误和_external_scn_rejection_threshold_hours参数
熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 Oracle数据库在安装了2012年1月发布的CPU或PSU补丁之后,经常出现下面一些现象: 1、应用出现ORA-1970
数据和云
2018/03/06
1.2K0
SCN、ORA-19706错误和_external_scn_rejection_threshold_hours参数
2016年度中国Oracle数据库使用现状分析报告
云和恩墨旗下智能诊断平台Bethune今日发布了【2016年度中国Oracle数据库使用现状分析报告】,该报告采样2016年度国内18个大行业、485位用户(个人/企业)的1841套Oracle数据库信息,根据该平台提供的3356次数据库健康检查数据展开全方位多维度分析,让大家对Oracle数据库在国内的使用状况形成更为直观、全面的认知。 Oracle数据库从20世纪末就已开始在国内使用,在经历了20多年的迅猛发展后,目前已经占据了全球数据库的首位,在国内拥有数十万的技术粉丝与数万家企业用户,但到目前为止,
小小科
2018/05/04
1.2K0
2016年度中国Oracle数据库使用现状分析报告
故障树分析法在数据库诊断分析中的应用
编辑手记:将知识转化为能力,除了需要经验的积累和时间的磨砺,更重要的是正确的方法和思维模式,学会应用知识才是真正的能力。本文试图通过方法的讨论使大家能够形成一个稳定的解决问题的思路和方法,按照这个思路和方法将我们所学的知识整理武装起来,这样在面对问题时就能够快速地找到一条发现和解决问题之路。 故障树分析法 故障树分析法(Fault Tree Analysis,FTA)是在对系统的可靠性进行分析时最常用的方法之一。FTA方法是指在系统设计或改进过程中,通过对可能造成系统故障的各种因素(包括硬件、软件、环境、人
数据和云
2018/03/07
2.1K0
故障树分析法在数据库诊断分析中的应用
Oracle Patch补丁体系
Oracle作为大型商业关系型数据库, 从其补丁体系就可以看出其考虑的全面性. 首先我们看下oracle Patch的主要类型:
Lucifer三思而后行
2021/08/17
1.1K0
Oracle 数据库版本发布计划变更:下一版本将是 18
编辑手记: 在最近举行的Oracle数据库技术大会上,Andy Mendelsohn 透漏了关于Oracle Database 产品发布计划的变更。自2018年起,Oracle数据库的版本号将直接跳升到18。 Oracle Database的下一个版本将是 Oracle 18 。 目的 为了更快的、通过每年的版本发布将新特性带给用户,小步快跑、灰度发布,可以尽量通过小的变更,降低用户对于版本升级的恐惧感。 由此又可以将用户更紧密的团结在Oracle数据库产品周围,通过持续不断的升级来保持用户和Oracle的
数据和云
2018/03/07
1.5K0
Oracle 数据库版本发布计划变更:下一版本将是 18
故障诊断:DRM导致Oracle RAC节点Hang住
生活就像一盒巧克力,你永远不知道下一颗是什么味道。 --《阿甘正传》 在DBA的世界里,数据库的新特性就是这样一盒巧克力,可能是惊喜也可能是坑。毋庸置疑,新特性总是伴随着新功能而来,然而在企业最核心的数据资产面前,某些新功能的出现所带来的好处,远远不及其对于性能和稳定性带来的危害。因此我们常常会选择禁用一些新特性,今天要分享的DRM就属于其中一个。 为什么DRM通常会被列入禁用的名单,今天我通过一个真实案例来认识DRM可能会导致的数据库故障。 什么是DRM 在Oracle 10g版本中,开始提出了DRM特性
数据和云
2018/03/07
2K0
故障诊断:DRM导致Oracle RAC节点Hang住
推荐阅读
相关推荐
《周处除三害》之遇到数据库害虫(Bug)怎么破
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档