系统存在严重的latch: undo global data等待

客户10.2.0.5 RAC环境出现了严重的latch: undo global data等待。

问题时刻AWR的TOP如下:

Event

Waits

Time(s)

Avg Wait(ms)

% Total Call   Time

Wait Class

latch: undo   global data

6,245,400

1,372,583

220

22.0

Other

gc buffer busy

114,190,782

1,329,749

12

21.3

Cluster

enq: TX – row   lock contention

1,377,980

685,454

497

11.0

Application

CPU time

460,041

7.4

enq: TX – index   contention

602,648

285,683

474

4.6

Concurrency

 

等待最明显的是latch: undo global data和gc buffer busy,后者是RAC中比较常见的等待,也可以根据报告后面的SQL等待部分很容易定位到导致问题的SQL语句,而前者的等待并不常见。

根据MOS文档”LATCH: UNDO GLOBAL DATA” In The Top Wait Events [ID 1451536.1]描述,这个等待和隐含参数_undo_autotune设置为FALSE情况下的UNDO空间不足有关

当前数据库确实关闭了_undo_autotune功能。且LATCH undo global data最多的等待发生在ktusm_stealext: KSLBEGIN处,这说明会话在寻找新的UNDO EXTENTS时,不得不Steal未过期的UNDO EXTENTS。

解决方案有三个:减少UNDO_RETENTION参数设置的时间长度;增加UNDO_TABLESPACE的空间大小;将_undo_autotune隐含参数设置为TRUE。

 

This entry was posted in BUG and tagged , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *