ORACLE RAC反应卡顿时enq: SV - contention和latch: row cache objects的分析

2024-03-06 17:44

本文主要是介绍ORACLE RAC反应卡顿时enq: SV - contention和latch: row cache objects的分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

某客户数据库系统使用ORACLE RAC 11G版本,两个节点。在上午8点钟之后,业务开始大量进行时,出现严重的卡顿问题;在工程师分析后,发现当时出现了很多异常等待数据,如典型的enq: SV - contention 、enq: TX - row lock contention、enq: SQ - contention、cursor: pin S wait on X、latch: row cache objects、enq: US - contention;如何穿透这些异常事件,快速找到数据库异常的根本原因,快速进行解决呢?

1、快速查看主机性能、负载和磁盘空间;然后查看实时的SESSION状态以及收集AWR进行分析

实时的SESSION状态:

SQL> select program,sql_id,event,FINAL_BLOCKING_INSTANCE,FINAL_BLOCKING_SESSION2  from gv$session where status='ACTIVE' and BLOCKING_SESSION is not null ;PROGRAM                   SQL_ID          EVENT                          FINAL_BLOCKING_INSTANCE FINAL_BLOCKING_SESSION
------------------------- --------------- ------------------------------ ----------------------- ----------------------
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347
w3wp.exe                  3zk1may0smdy8   enq: SV -  contention                                2                   4347
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347
w3wp.exe                  3zk1may0smdy8   enq: SV -  contention                                2                   4347
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347
w3wp.exe                  3zk1may0smdy8   enq: SV -  contention                                2                   4347
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347
w3wp.exe                  3zk1may0smdy8   enq: SV -  contention                                2                   4347
w3wp.exe                  3zk1may0smdy8   enq: SV -  contention                                2                   4347
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347
w3wp.exe                  3zk1may0smdy8   enq: SV -  contention                                2                   4347
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347
w3wp.exe                  3zk1may0smdy8   enq: SV -  contention                                2                   4347
w3wp.exe                  3zk1may0smdy8   enq: SV -  contention                                2                   4347
ghsf.exe                  0qk8kh49vs5gq   enq: TX - row lock contention                        1                  12709
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347
w3wp.exe                  bn46318t1a0h4   enq: SV -  contention                                2                   4347

查看AWR中的等待事件及时间

节点1:

节点2:

2、从基本信息来看,出现了很多异常等待数据,如典型的enq: SV - contention 、enq: TX - row lock contention、enq: SQ - contention、cursor: pin S wait on X、latch: row cache objects、enq: US - contention;实时的会话最多的是enq: SV - contention;查询AWR中的TOP SQL,也是执行获取序列值的SQL。序列相关的SQL执行速度和时间排在数据库的最前列,主要为:Select SEQ_XXXX.NextVal From Dual;分析:序列对应的配置为(主要指标,CACHE=20,ORDER=Y),RAC环境下默认的20缓存及ORDER=Y属性会急剧序列的性能问题:

基于此分析,紧急将序列CACHE值改为200后,处于卡顿的进程在逐渐下降,但是前端业务还未完全恢复;

3、继续从AWR中分析,节点2的latch: row cache objects等待进入视野;参考MOS文档上RAC database hangs with enq: SQ - contention & latch: row cache objects & enq: US - contention (Doc ID 1484604.1)、Resolving Issues Where 'Row Cache Lock' Waits are Occurring (Doc ID 1476670.1)等文档,查看对应的data dictionary cache问题,可以直观发现问题点:

4、看起来问题比较清楚,大量回滚端请求,查看对应UNDO表空间使用率,可以发现UNDO表空间使用率高,查看UNDO段状态,大量在UNEEXPIRED状态;因此快速对UNDO表空间进行扩容,问题解决。

Tablespace_Name  Size(GB) Status     Used Extents US_SIZE(GB) Used R
--------------- --------- ---------- ------------ ----------- ------
UNDOTBS1           253.00 ACTIVE              421         .39    .15
UNDOTBS1           253.00 EXPIRED          112364       87.16  34.48
UNDOTBS1           253.00 UNEXPIRED        145372      106.47  42.12
UNDOTBS2           188.00 ACTIVE              473         .42    .22
UNDOTBS2           188.00 EXPIRED           50811       25.62  13.67
UNDOTBS2           188.00 UNEXPIRED        172751      107.72  57.45

这篇关于ORACLE RAC反应卡顿时enq: SV - contention和latch: row cache objects的分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/780843

相关文章

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Redis中的有序集合zset从使用到原理分析

《Redis中的有序集合zset从使用到原理分析》Redis有序集合(zset)是字符串与分值的有序映射,通过跳跃表和哈希表结合实现高效有序性管理,适用于排行榜、延迟队列等场景,其时间复杂度低,内存占... 目录开篇:排行榜背后的秘密一、zset的基本使用1.1 常用命令1.2 Java客户端示例二、zse

Redis中的AOF原理及分析

《Redis中的AOF原理及分析》Redis的AOF通过记录所有写操作命令实现持久化,支持always/everysec/no三种同步策略,重写机制优化文件体积,与RDB结合可平衡数据安全与恢复效率... 目录开篇:从日记本到AOF一、AOF的基本执行流程1. 命令执行与记录2. AOF重写机制二、AOF的

MyBatis Plus大数据量查询慢原因分析及解决

《MyBatisPlus大数据量查询慢原因分析及解决》大数据量查询慢常因全表扫描、分页不当、索引缺失、内存占用高及ORM开销,优化措施包括分页查询、流式读取、SQL优化、批处理、多数据源、结果集二次... 目录大数据量查询慢的常见原因优化方案高级方案配置调优监控与诊断总结大数据量查询慢的常见原因MyBAT

分析 Java Stream 的 peek使用实践与副作用处理方案

《分析JavaStream的peek使用实践与副作用处理方案》StreamAPI的peek操作是中间操作,用于观察元素但不终止流,其副作用风险包括线程安全、顺序混乱及性能问题,合理使用场景有限... 目录一、peek 操作的本质:有状态的中间操作二、副作用的定义与风险场景1. 并行流下的线程安全问题2. 顺

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

Oracle数据库在windows系统上重启步骤

《Oracle数据库在windows系统上重启步骤》有时候在服务中重启了oracle之后,数据库并不能正常访问,下面:本文主要介绍Oracle数据库在windows系统上重启的相关资料,文中通过代... oracle数据库在Windows上重启的方法我这里是使用oracle自带的sqlplus工具实现的方

Oracle Scheduler任务故障诊断方法实战指南

《OracleScheduler任务故障诊断方法实战指南》Oracle数据库作为企业级应用中最常用的关系型数据库管理系统之一,偶尔会遇到各种故障和问题,:本文主要介绍OracleSchedul... 目录前言一、故障场景:当定时任务突然“消失”二、基础环境诊断:搭建“全局视角”1. 数据库实例与PDB状态2

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了