近期整理案例,发现前不久同事反馈一个数据库服务器CPU居高不下,无法找到根因过来询问,详情如下:

EVENT COUNT(*)

---------------------------------------- ----------

row cache lock 1007

213

buffer busy waits 165

log file switch (checkpoint incomplete) 137

free buffer waits 114

db file async I/O submit 75

log file sync 73

db file sequential read 62

read by other session 36

log file parallel write 15

resmgr:cpu quantum 15

enq: TX - row lock contention 13

enq: HW - contention 9

direct path read 8

enq: SQ - contention 4

latch: undo global data 3

write complete waits 2

log file sequential read 1

null event 1

db file scattered read 1

Log archive I/O 1

LNS wait on SENDREQ 1

enq: US - contention 1

从ASH中看到,CPU高的时间段内,等待事件最多的为ROW CACHE LOCK,

TIME USER_ID SQL_ID EVENT P1

------------------------------ ---------- ------------- ---------------------------------------- ----------

20200929 01:11:25 91 7265mcg5kwyc3 row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 c25ar03n0p5sz row cache lock 13

20200929 01:11:25 91 c25ar03n0p5sz row cache lock 13

20200929 01:11:25 91 7265mcg5kwyc3 row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 c25ar03n0p5sz row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 c25ar03n0p5sz row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 7265mcg5kwyc3 row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 7265mcg5kwyc3 row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 11xs00r4qzb7n row cache lock 13

20200929 01:11:25 91 7265mcg5kwyc3 row cache lock 13

20200929 01:11:25 91 7265mcg5kwyc3 row cache lock 13

20200929 01:11:25 91 7265mcg5kwyc3 row cache lock 13

确认该时间段内的具体SQL,发现均存在SEQUENCE调用

SQL_ID COUNT(*)

------------- ----------

7265mcg5kwyc3 357

11xs00r4qzb7n 341

c25ar03n0p5sz 277

f9ym730zzf1s2 12

9dnygr7asqmy9 12

dksd9txy8vuk6 6

9qzwmgp034kx2 2

SQL> SELECT DISTINCT sql_id,

sql_text

FROM v$sql

WHERE sql_id IN ('dksd9txy8vuk6',

'11xs00r4qzb7n',

'9qzwmgp034kx2',

'9dnygr7asqmy9',

'7265mcg5kwyc3',

'c25ar03n0p5sz',

'f9ym730zzf1s2');

SQL_ID SQL_TEXT

------------- ------------------------------------------------------------------------------------------------------------------------

9qzwmgp034kx2 INSERT INTO opfqresultdata VALUES(OPFQRESULTDATA_SEQUENCE_ID.Nextval,:1 ,:2 ,:3 ,:4 ,:5 ,:6 ,:7 ,:8 )

f9ym730zzf1s2 select SUBSFLT_HISTORY_SEQUENCE_ID.nextval from dual

7265mcg5kwyc3 INSERT INTO pnrresultdata VALUES(PNRRESULTDATA_SEQUENCE_ID.NEXTVAL,:1 ,:2 ,:3 ,:4 ,:5 ,:6 ,:7 ,:8 ,:9 )

c25ar03n0p5sz INSERT INTO etresultdata VALUES(ETRESULTDATA_SEQUENCE_ID.Nextval,:1 ,:2 ,:3 ,:4 ,:5 ,:6 ,:7 ,:8 ,:9 ,:10 ,:11 )

9dnygr7asqmy9 select SUBSFLTREQUEST_SEQUENCE_ID.nextval from dual

11xs00r4qzb7n INSERT INTO unknowdata VALUES(UNKNOWDATA_SEQUENCE_ID.Nextval,:1 ,:2 ,:3 )

dksd9txy8vuk6 INSERT INTO fltresultdata VALUES(FLTRESULTDATA_SEQUENCE_ID.Nextval,:1 ,:2 ,:3 ,:4 ,:5 ,:6 ,:7 ,:8 ,:9 ,:10 ,:11 ,:12 ,:1

SQL> select DISTINCT P1

FROM

(SELECT to_char(SAMPLE_TIME,'YYYYMMDD hh24:mi:ss') time,

USER_ID,

SQL_ID,

EVENT,

P1

FROM dba_hist_active_sess_history

WHERE SAMPLE_TIME>to_date('20200929 01:00:00','YYYYMMDD hh24:mi:ss')

AND SAMPLE_TIME

AND EVENT = 'row cache lock');

P1

----------

13 --正是dc_sequences

SQL> select parameter,gets,getmisses,MODIFICATIONS from v$rowcache where cache#=13;

PARAMETER GETS GETMISSES MODIFICATIONS

-------------------------------- ---------- ---------- -------------

dc_sequences 766929021 5065 766929020

发现此sequence中的cache size均为0,出现row cache lock与cpu高便不足为奇

将频繁调用的sequence cache size调整至500后,等待与cpu高的现象随之解决,不再复现。

oracle 白鳝 row cache lock,ROW CACHE LOCK导致数据库CPU高案例分析相关推荐

  1. java并发,同步synchronize和lock锁的使用方法和注意,死锁案例分析

    1.什么是线程安全问题 多个线程同时共享同一个全局变量或者静态变量的时候,某个线程的写操作,可能会影响到其他线程操作这个变量.所有线程读一个变量不会产生线程安全问题. 实际场景就是火车站买票问题:剩余 ...

  2. oracle数据库iowait高,CPU-IOWAIT分析

    某系统的备DB的CPU iowait[6%]高于其他机器无影响:一般iowait在20%才会影响到业务 背景说明: 此场地使用的是一主两备的架构.主库使用的是sas盘,两台备库使用的是sata盘此场地 ...

  3. 【等待事件】序列等待事件总结(enq: SQ - contention、row cache lock、DFS lock handle和enq: SV - contention)...

    [等待事件]序列等待事件总结(enq: SQ - contention.row cache lock.DFS lock handle和enq: SV - contention) [等待事件]序列等待事 ...

  4. 记一次library cache lock/library cache pin导致的函数编译hang住分析及处理过程

    墨墨导读:业务在进行alter function my_function_name compile时,有两个函数编译无法通过,现象就是会hang住,这里分享处理的整个过程. 一.前言 业务在进行alt ...

  5. Oracle结果集缓存(Result Cache)--服务器、客户端、函数缓存

    Oracle结果集缓存(Result Cache)--服务器.客户端.函数缓存 在11g中,Oracle提供了结果集缓存特性.该缓存是在共享内存中存储全部的结果集,如果一个查询SQL被执行,且它对应的 ...

  6. Oracle性能调优之--Buffer cache 的调整与优化

    Oracle性能调优之--Buffer cache 的调整与优化 Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能.当Buffer Cache过小的时候, ...

  7. Oracle优化 latch free问题Result Cache:RC Latch引起数据库缓慢

    Oracle12.1的库在业务高峰期非常慢,分析AWR发现latch free导致,具体定位为:Result Cache: RC Latch事件引起数据库缓慢 1.优化之前awr部分信息 awr整体负 ...

  8. oracle sample 慢,【案例】Oracle优化 latch free问题Result Cache:RC Latch引起数据库缓慢...

    天萃荷净 Oracle12.1的库在业务高峰期非常慢,分析AWR发现latch free导致,具体定位为:Result Cache: RC Latch事件引起数据库缓慢 1.优化之前awr部分信息 a ...

  9. 【转载】Java Cache系列之Cache概述和Simple Cache

    原文地址:http://www.blogjava.net/DLevin/archive/2013/10/15/404770.html 前记:最近公司在做的项目完全基于Cache(Gemfire)构建了 ...

  10. ARM Linux 内核 panic 之cache 一致性 ——cci-400 cache一致互联

    ARM Linux 内核 panic 之cache 一致性 --cci-400 cache一致互联 CCI-400 集合了互联和一致性功能,有 2 个 ACE slave 接口和 3 个 ACE-Li ...

最新文章

  1. 扫盲了!一个Java字符串中到底有多少个字符?
  2. NGINX 配置404错误页面转向
  3. 1070. 结绳(25)
  4. jq之animate()操作多个属性
  5. 《大学数学遐想》系列之函数与数列
  6. 【codevs1993】草地排水,网络流入门(dinic+ispa)
  7. 谷歌爆苹果 Image I/O 存重大漏洞,无辜用户躺枪
  8. HttpUtility.UrlEncode、HttpUtility.UrlDecode、Server.UrlEncode、Server.UrlDecode的区分与应用
  9. yolov3聚类自己数据的anchor box
  10. python怎样编写定时程序_如何用Python写一个每分每时每天的定时程序
  11. BZOJ1008[HNOI2008] 越狱
  12. Jupyter notebook 修复
  13. 微型计算机与原理与接口技术第四版,微机原理与接口技术(第4版)
  14. 利用R语言如何计算出回归分析中的t值和P值
  15. Windows操作系统单网卡设置双IP
  16. c语言买100只鸡,C语言经典问题--百钱买百鸡问题
  17. [DAX] FORMAT函数
  18. 51单片机课设项目大全
  19. 洛达AB1562M 悦虎2代AB1562M_V130.1.1.151固件
  20. react中使用simditor富文本编辑器

热门文章

  1. 作为架构师,你必需要搞清楚的概念:POJO、PO、DTO、DAO、BO、VO
  2. 马克思主义哲学与价值哲学
  3. nginx报502错误
  4. 谷歌浏览器显示一直加载的解决方法
  5. 区块链3.0 EOS和TRON
  6. 【加拿大签证】加拿大签证办理GCKey注册说明【加拿大签证网上办理注册】
  7. 空手套白狼,放端套利
  8. 数据可视化大屏_大数据可视化应用典型案例
  9. vm虚拟机搭建click house(单机)
  10. 爬虫 页面元素变化_爬虫项目案例讲解 案例二:定位、爬虫、定位页面元素、分别定位、简单处理抓取数据(有总结)...