数据库,你不要死!!!

前言

众所周知,数据库是一个互联网企业的核心,每个公司都恨不得像守护刚出生的婴儿一样守护着它。但就算是7*24小时监控着,数据库也可能会出现天灾,更不要提一些人祸了。今天就跟大家总结一下我们公司数据库遇到的一些问题。

存储 info 级日志坑

某一天,监控数据显示交易量忽高忽低,没有规律,重灾区是设置交易超时时间的某产品,交易出现大量失败,客户投诉严重。大家聚焦问题,执行代码回滚方案仍无法解决,同时观察数据库现象为事务突然停滞数秒,然后又恢复正常,无时间规律以此反复。DBA 排查存储日志也未见异常 error,同时协调 IBM 分析这些日志,最终反馈有个 info 级日志无规律报某块 disk miss,建议更换硬盘试试,结果更换后交易恢复正常,此故障被 IBM 收集入案例库。

总结:日常巡检不要放过任何细节,info 级别日志也可能是 error 级别,也可能是致命的

BUG 类高并发短小事务坑

某年考试集中报名,应用频繁出现繁忙,线程报警,导致交易时断时续。查看数据库端负载稍微偏高,事务量是平常的 4 倍多,分析事务量与交易量并不成正比,进一步排查发现执行频率最高的 SQL 达到每秒 2000 次以上。通过一个简单的银行字典查询,开发人员定位问题为此考试接口为定制代码,有多次重复查询 BUG。紧急修复后交易正常。

总结:优化核心交易事务,精简代码,严格控制代码质量

悲催的各种用尽坑

DBA 发现由于最初的设计原因,交易流水表 ID 使用的是 INT 类型的 sequence,这使得交易流水表 ID很快就会用尽并导致交易停止。于是排查类似的可能用尽的坑,发现数据库日志 SN 居然也能用尽,只有升级版本后才能解决此问题,再一看当前 SN 号一身冷汗,此时推算核心交易库将在半年后用尽 SN 进入只读模式,后果不堪设想。继续探坑又有新发现,LINUX 平台 ETX3 文件系统单文件最大只支持 2T,而线上已经有存到 1.5T。

总结:坑也是无穷无尽的,想不掉下去,那就积极主动探坑吧

半死不活的硬件故障坑

某日短信通知系统中断,电话应急处理过程中 NOC 反馈未发现任何数据库服务器有可用性报警,但开发反馈应用无法连接数据库,于是 DBA 尝试登录此服务器发现能 ping 通,但 ssh 无法连接。立刻登陆远控卡发现 RAID 卡报错导致系统 hang,执行数据库切换方案后,业务恢复正常。

总结:系统 hang 会导致 Agent 报警,数据无法推送到服务端。报警策略一定要配置采集数据超时时间,避免不能及时发现故障

交易事务中乱七八糟的其他调用坑

核心交易数据库事务应该是最简洁并且效率最高的 SQL,如果调用其它资源响应时间慢或无响应,会直接影响主线交易。此类操作应做异步处理,此坑已经埋了很多人。

总结:核心交易事务代码必须严格审查,重视不够必进坑

数据库不可用导致应用无法启动的坑

线上有一些非核心数据库,如归档库,只对外提供历史数据的查询,为节约硬件成本,此库可用性标准 999。偶然一次代码上线过程中,应用启动后 hang 住了,日志无任何输出,问题无从查起。而此时某台历史库正在维护,由此推断是否和数据库有关,查代码后发现果然如此,代码对于数据库异常未做任何处理,无 try catch。此问题如果在上线阶段发生,其后果将是灾难性的。

总结:日志输出一定要遵循软件设计原则,系统日志的缺失对于紧急问题定位是灾难性的

缺乏沟通的坑

某天晚上接到系统人员通知,数据库不可用,交易中断。接到通知后, DBA 检查数据库状态,发现数据库表空间处于不可用状态。通过检查数据文件和询问系统人员做过什么,得知系统人员维护系统,修改了数据文件的权限,导致数据库不可用。后修改数据文件权限,并前滚数据库,故障恢复。

总结:数据库设备任何变更,都要和 DBA 进行沟通确认,不起眼的失误会导致灾难的发生

总结

通过以上例子可以发现,一个小小的操作,都可能导致数据库崩溃,造成不可挽回的损失。希望大家一定要遵守各种规范,三思而后行,凡事多想一步。你的一小步,稳定一大步。让我们的运维人员有一个完美的夜生活!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容