Oracle异常恢复实战第12讲 – Oracle检查点机制(上)+价值几万块的经典案例

2024年 7月 1日 73.6k 0

这是数据库异常恢复实战第12讲,突然发现已经有2周没有更新了,实在是抱歉,最近几周真的很忙,好多已经订阅的朋友已经在伙伴群催更多次了。。。

前面我们一共用了11个小节来分别给大家讲了控制文件和redo的一些基础原理、机制;根据之前的大纲内容,接下来2个小节将为大家分享一下Oracle中的检查点机制,实际上这是一个非常关键的机制,这个月已经遇到2次跟检查点相关案例,其中某客户exadata x7环境,跑几天就反应慢,据说厂商折腾了几周无果,针对这个case的简单分析过程,这里我给大家分享一下。

首先我们来这个用户故障反应普遍比较慢的情况,我们先看load profile和top event:

Oracle异常恢复实战第12讲 - Oracle检查点机制(上)+价值几万块的经典案例-1Oracle异常恢复实战第12讲 - Oracle检查点机制(上)+价值几万块的经典案例-2

接下来我们看客户反馈重启业务恢复了(据说重启后跑2-3天又会整体变慢)。

Oracle异常恢复实战第12讲 - Oracle检查点机制(上)+价值几万块的经典案例-3Oracle异常恢复实战第12讲 - Oracle检查点机制(上)+价值几万块的经典案例-4

cell smart table scan可以理解为全表扫描,只不过这是Oracle exdata x7的环境,同时我们也可以看到cell single block physical reads 似乎慢了很多。

这是什么原因呢?

实际上要判断是不是IO影响了,那么我们可以找个awr中的业务sql看看就知道了。如下是前后2份报告的部分截图:

Oracle异常恢复实战第12讲 - Oracle检查点机制(上)+价值几万块的经典案例-5Oracle异常恢复实战第12讲 - Oracle检查点机制(上)+价值几万块的经典案例-6

我们可以发现这个sql相对正常的情况下平均单次执行时间时0.06s,而业务反应比较慢的情况下平均单次执行时间时0.22s,看上去慢了3倍多,而且执行次数还低了几倍。

客户的数据库维护厂商和其他支持者都看了2周了,也检查了网络、包括一体机硬件等等都,都没有发现任何问题。

那么为什么业务跑2-3天就整体慢了,重启之后又好了,然后过几天又慢了?

对于这样业务量,我想说,确实有点大,但是还不至于连宇宙最强的exadata都扛不住吧。

据说厂商建议客户扩容,将exadata半配扩充为满配。。。。。

当看了厂商提供的上述2个awr之后,我大概就知道问题所在了,让运维尝试调整了一个fast_start_mttr_target参数;据反馈观察了好几天,发现居然不再变慢了,用户再也不需要每周重启了。快1个月过去了,这个案例可以公布出来了。

想想这个客户也是4年前,每2周宕机一次,折腾了大半年,后面我去帮忙处理了,最终客户采购了我们zdata一体机作为exadata的容灾库。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论