首页 > 其他分享 >因为tempfile争用,而导致的buffer busy wait

因为tempfile争用,而导致的buffer busy wait

时间:2023-01-12 17:22:31浏览次数:48  
标签:busy waits tempfile 争用 buffer OCS block wait

1. 同事发来一份AWR报告,反馈当前系统运行非常慢,让帮忙看看具体是什么原因。

2. 下面,直接来看看这份AWR。

EventWaitsTotal Wait Time (sec)Wait Avg(ms)% DB timeWait Class
buffer busy waits 7,078 30.9K 4365 75.2 Concurrency
gc buffer busy release 5,972 5157.1 864 12.6 Cluster
DB CPU   2612.3   6.4  
enq: SS - contention 321 1159.4 3612 2.8 Configuration
local write wait 894 675.9 756 1.6 User I/O
db file sequential read 887,180 213.3 0 .5 User I/O
library cache lock 618 98.8 160 .2 Concurrency
gc current grant 2-way 457,033 65.3 0 .2 Cluster
direct path write 93,208 61.9 1 .2 User I/O
enq: RO - fast object reuse 13 57.8 4446 .1 Application

从等待事件来看,buffer busy waits最严重。

3、直接看buffer busy waits相关的对象。

Segments by Buffer Busy Waits

  • % of Capture shows % of Buffer Busy Waits for each top segment compared
  • with total Buffer Busy Waits for all segments captured by the Snapshot
OwnerTablespace NameObject NameSubobject NameObj. TypeBuffer Busy Waits% of Capture
OCS_TAE IDX_OCSTAE PK_E_OCS_BASE_INFO   INDEX 132 33.08
SYS SYSTEM I_OBJ1   INDEX 33 8.27
OCS_TAE DATA_OCSCALC PK_ES_RCA_BASE_INFO_MID4   INDEX 33 8.27
SYS SYSTEM I_OBJ5   INDEX 23 5.76
OCS_CALC IDX_OCSCALC PK_E_OCS_CONSPRC_TACTIC_SNAP P20230110_P41402 INDEX SUBPARTITION 17 4.26

这里有个奇怪的现象,那就是在数据对象上的buffer busy waits其实并不高,这说明buffer busy wait的并不是data。

4、继续分析buffer busy waits部分的统计信息

Buffer Wait Statistics

  • ordered by wait time desc, waits desc
ClassWaitsTotal Wait Time (s)Avg Time (ms)
file header block 39,559 30,685 776
data block 1,219 1 1
undo header 388 0 0
undo block 195 0 0
segment header 3 0 3
bitmap index block 45 0 0
1st level bmb 14 0 0
2nd level bmb 4 0 0

可以看出file header block部分的平均等待时间和总的等待时间最长,并且这个时间与AWR中的TOP EVENT是相符的,说明buffer busy wait主要在等待file header block。

5、具体buffer busy wait在哪个文件头上等待呢,此时需要分析dba_hist_active_sess_history了。

 

 可以看出,在故障时间段,基本上主要是3条SQL语句在等待buffer busy waits, 进一步分析这3条SQL语句,发现这3条SQL语句都非常简单,例如:INSERT INTO E_OCS_CAL_DATA_TEMP(CONS_ID, BATCH_NO) VALUES (:B1 , :B2 );

6、查看这3条SQL语句所涉及的对象的表结构情况,发现全部为全局临时表。

 

 

 

 

 

 

 

7. 查看buffer busy waits等待事件的p1和p2值:

 

 可以看出,buffer busy waits主要等待(4097,2)。 而p1=4097,实际上是temp表空间的第1个tempfile。

 

8、至此,故障的原因最终理清楚了,全局临时表(global temporary table)上大量的数据插入操作,导致tempfile产生争用,而出现buffer busy wait。从最上面的 TOP EVENT部分的enq: SS - contention也能看出临时段的争用。

9、解决办法。 由于这3张全局临时表属于不同的用户,建议:1、为不同的用户分配不同的临时表空间。2、新创的临时表空间的uniform size 为200MB。

 

标签:busy,waits,tempfile,争用,buffer,OCS,block,wait
From: https://www.cnblogs.com/missyou-shiyh/p/17047274.html

相关文章

  • busybox添加和删除路由
    busybox添加路由的语法和一般linux和windows不一样添加routeadd-net221.130.33.60netmask255.255.255.255gw10.65.208.10//流量转发到网关、指定iproutead......
  • 配置编译BusyBox
    获取源码$wget-chttp://www.busybox.net/downloads/busybox-1.23.2.tar.bz2解压并进入源码目录$tar-jxvfbusybox-1.23.2.tar.bz2$cdbusybox-1.23.2/配置$makemen......
  • 卸载分区目录,target is busy解决方案
    umount/home/data1/卸载分区目录,出现targetisbusyumount/home/data1/umount:/home/data1:targetisbusy.(Insomecasesusefulinfoaboutprocesses......
  • Linux 卸载磁盘target is busy
    一、简介问题:umount/dev/sdxx命令时可能会报"deviceisbusy",这个合理的报错可以防止正在使用的设备上的数据丢失。如1)使用者自己清楚确实发生了错误2)使用者不在乎数据......
  • docker没有vi不能执行yum报Device or resource busy
    最近在使用docker的过程中发现一个问题,就是想用vim编辑器编辑一个文件,发现连vi都没有。于是想到一个办法用dockercp来解决问题:首先执行dockerps-a查看容器的id然后再......
  • 随想录(被高估的busybox)
    【声明:版权所有,欢迎转载,请勿用于商业用途。  传统的嵌入式系统都是uboot+kernel+rootfs。其中最简单的rootfs就是ramfs+busybox+/dev+/etc+/lib。至于etc目录中的initt......
  • umount报device is busy 正在使用
    umount某个挂载目录时会遇到如下问题:[root@localhost/data]#umount/data/      umount.nfs:/data:deviceisbusy正在使用解决办法:一、cd/  退......
  • android 删除文件错误:open failed: EBUSY (Device or resource busy)
    引用:​​http://stackoverflow.com/questions/11539657/open-failed-ebusy-device-or-resource-busy​​IhavethebigAnswer!!TheProblemcomesfromtheAndroidSys......
  • busybox-date.c调试
    注释代码/*vi:setsw=4ts=4:*//**Minidateimplementationforbusybox**byMatthewGrant<[email protected]>**iso-formathandlingaddedbyRobert......
  • HDU 3535 AreYouBusy
    题目链接:​​传送门​​题面:AreYouBusyProblemDescriptionHappyNewTerm!Ashavingbecomeajunior,xiaoArecognizesthatthereisnotmuchtimeforhertoAC......