[RAC性能调优] gc buffer busy acquire 处理
来源:互联网 发布:遇到网络诈骗怎么半 编辑:程序博客网 时间:2024/06/04 08:05
目录(?)[+]
- RAC性能调优 gc buffer busy acquire 处理
[RAC性能调优] gc buffer busy acquire 处理
event 解释:
gcbufferbusyacquire是当session#1尝试请求访问远程实例(remote instance)buffer,但是在session#1之前已经有相同实例上另外一个session#2请求访问了相同的buffer,并且没有完成,那么session#1等待gcbufferbusyacquire。
原因/解决方法
---------------------
- 1.》热点块(hot block)
在AWR中Segments by Global Cache BufferBusy记录了访问频繁的gcbuffer.
解决方法可以根据热点块的类型采取不同的解决方法,比如采取分区表,分区索引,反向index等等。这点与单机数据库中的bufferbusywaits类似。
Segments by GlobalCache Buffer Busy
- % of Capture shows % of GC Buffer Busy for each top segment compared
- with GC Buffer Busy for all segments captured by the Snapshot
Owner
Tablespace Name
Object Name
Subobject Name
Obj. Type
GC Buffer Busy
% of Capture
WMCADMIN
BILLDATA0
FEEORDER_LOG_1404
TABLE
79,555,421
78.41
WMCADMIN
BILLINDEX0
FEEORDER_LOG_1404_RSPCODETIME
INDEX
21,779,575
21.47
WMCADMIN
BILLINDEX0
IDX_BILLRING_INFO_1404_1
INDEX
125,829
0.12
SYS
SYSTEM
UET$
TABLE
182
0.00
SYS
SYSTEM
I_FILE#_BLOCK#
INDEX
62
0.00
- 2》低效SQL语句
低效SQL语句会导致不必要的buffer被请求访问,增加了bufferbusy的机会。在AWR中可以找到TOP SQL。解决方法可以优化SQL语句减少buffer访问。这点与单机数据库中的bufferbusy waits类似。
Buffer Gets
Executions
Gets per Exec
%Total
Elapsed Time (s)
%CPU
%IO
SQL Id
SQL Module
SQL Text
539,775,845
8
67,471,980.63
44.45
80,098.98
16.9
17.4
0mtunwsd5p9z1
SQL*Plus
SELECT 'Result ' || ( SELECT C...
520,003,254
7
74,286,179.14
42.82
72,983.93
19
19
bx100749tk78y
SQL*Plus
select 'Result ' || successall...
相应的sql为:
SELECT 'Result ' || ( SELECT COUNT(1) FROMfeeorder_log_1404 WHERE requestdata >SYSDATE - 5 / 1440 AND requestdata <= SYSDATE AND rspcode='000000' ANDSUBSTR(copyrightid, -1, 1)='1' ) || ' ' || ( SELECT COUNT(1) FROMfeeorder_log_1404 WHERErequestdata > SYSDATE - 5 / 1440 AND requestdata <= SYSDATE ANDSUBSTR(copyrightid, -1, 1)='1' ) FROM dual
select 'Result ' || successall ||' '|| requestall from (selectcount(1) as requestall fromfeeorder_log_1404where REQUESTDATA>sysdate-5/1440 and REQUESTDATA<=sysdate), (selectcount(1) as successall fromfeeorder_log_1404where REQUESTDATA>sysdate-5/1440 and REQUESTDATA <=sysdate and RspCode ='000000')
--3》。数据交叉访问。
RAC数据库,同一数据在不同数据库实例上被请求访问。
如果应用程序可以实现,那么我们建议不同的应用功能/模块数据分布在不同的数据库实例上被访问,避免同一数据被多个实例交叉访问,可以减少buffer的争用,避免gc等待。
--4》-可能为Oracle bug
建议安装Oracle推荐的最新Patch Set和PSU。
Patch set和PSU信息请参考:Oracle Recommended Patches -- Oracle Database (Doc ID 756671.1)
如果问题还在的话,可以做一下一下操作:
RAC数据库收集hanganalyze的命令:
SQL> conn / as sysdba
SQL> oradebug setmypid
SQL> oradebug unlimit
SQL> oradebug -g all hanganalyze 3
- [RAC性能调优] gc buffer busy acquire 处理
- RAC性能分析gc buffer busy acquire 等待事件
- gc buffer busy acquire
- 【Oracle数据库技术支持】RAC性能分析 - gc buffer busy acquire 等待事件
- gc buffer busy acquire vs release
- rac 碰到 gc buffer busy
- gc buffer busy acquire和gc buffer busy release原理及案例
- RAC gc buffer busy 等待事件简单说明(转)
- High "gc buffer busy acquire" wait after Upgrade to 11.2 (文档 ID 2047582.1)
- gc buffer busy等待事件
- GC Buffer Busy等待事件
- 找到RAC中导致gc buffer busy等待事件的热点块
- GC性能调优
- RAC性能调优
- Oracle RAC 全局等待事件 gc current block busy 和 gc cr multi block request 说明
- Oracle RAC 全局等待事件 gc current block busy 和 gc cr multi block request 说明
- Oracle RAC 全局等待事件 gc current block busy 和 gc cr multi block request 说明
- RAC 数据库 gc 类性能问题分析
- HDU String Compare
- 1、从头学Android之Android应用程序结构
- localtime和gmtime的区别
- 函数与存储过程
- Android 使用ContentProvider扫面手机图片是过滤小尺寸图片,图片排序
- [RAC性能调优] gc buffer busy acquire 处理
- C#构造函数与折构函数
- [剑指Offer]打印1到最大的n位数
- 多表查询
- Z-Stack Monitor and Test(MT)与Z-tool介绍
- 2、从头学Android之第一个Activity程序
- Android相关网站
- 简单的哈希表实现
- RMAN备份详解