黑色星期六(之一) Oracle Clob大表事故排查过程分享

本文详述了一起因Oracle数据库中Clob字段导致的性能问题,事件集中在每周六上午8点半至9点。问题由业务A表的大数据量、定时任务执行失败后的undo操作以及周边存储过程共同引发,导致SGA区热点块争抢。解决方案涉及Clob字段优化、索引高水位线释放和数据库资源管理。文章分享了事件排查过程、常用工具及技巧,对Oracle数据库管理和性能优化具有参考价值。
摘要由CSDN通过智能技术生成

1、事件

1.1、事件现象

21年7月10、24、31日期间虫虫经历了连续3个周六上午8点半-9点之间,生产环境中几台关键应用服务器,后台提示“无法获取数据库连接数”,数据库端出现insert语句无法执行超时等待连接池饱和,数据库出现热点快争抢事件,导致线上环境部分业务域瘫痪,同时诡异的是全在上午8点半-9点时间之内。

1.2、事件结论

1、 业务模型中存在一张业务A(简化)表,其自身数据量较大且存在3个clob字段,Oracle数据库针对存在clob字段的表,在长期使用过程中无法进行索引高水位线释放,在一定事件后会直接导致表自身性能较差(主要原因)。

2、 业务处理中存在定时任务,在每周六上午0时执行update语句,目的是清空业务A表中的Clob列的数据,在故障日期(7月10日、7月24日)均有执行,因数据量过大导致执行失败。Oracle本身机制在执行sql语句失败后,会进行undo操作,会导致数据比执行sql期间消耗资源更多。

3、 存在周边定时任务执行存储过程,在每周六上午4.30进行sql语句执行,此语句常规执行耗时会在11个小时左右,涉及Clob字段的数据更新处理。

三者相叠加会导致数据库SGA区热点块争抢,无可用的区域空间,执行的insert语句执行时同样涉及clob字段,造成用户链接数据库会话堵塞。

1.2、事件涉及知识点

1、Orcale Clob字段存储结构以及处理过程
2、Oracle 热点快争抢排查
3、Oracle 表级数据高水位线
4、Oracle Clob大表产生问题后,生成级快速恢复方案
5、Oracle AWR报告解析及相关知识点
5、事件排查过程分享
6、事件排查过程工具及常用命令分享
7、事件排查常用手段分享
8、阿里云服务器DDOS、CC攻击等事件处理及常用排查手段

整理更新中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值