博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
enq: RO fast object reuse等待事件
阅读量:6227 次
发布时间:2019-06-21

本文共 3477 字,大约阅读时间需要 11 分钟。

New to Oracle 10g is the individual tracking of over 180 specific enqueues or internal Oracle locking mechanisms. One of these is the RO enqueue wait event for Object Reuse, and is used to synchronize the work required between a foreground process and background process such as DBWR or CKPT. This enqueue is most often seen when dropping objects or truncating tables... more ... Problem Tables typically truncate quickly and objects drop relatively fast so unless there is a major issue on your system, you may not see this event in the V$SESSION_WAIT view. It is more likely to be seen in the in the V$SYSTEM_WAIT view, in a statspack report, or trace report. For the V$SYSTEM_WAIT view a simple check to see if the TOTAL_WAITS and TIME_WAITED are high or are increasing will determine if there is a problem. SELECT event, total_waits, time_waited FROM v$system_event WHERE event like 'enq: RO%' If you find that the enqueue is excessive you may be able to see it in the V$SESSION_WAIT view through the following query. SELECT a.sid, c.pid, c.spid, a.username, b.event, b.wait_time, b.seconds_in_wait, b.p1, b.p2, b.p3 FROM v$session a, v$session_wait b, v$process c WHERE a.sid = b.sid AND a.paddr = c.addr AND b.event LIKE 'enq: RO%' Evaluation of the P1 value only restates that this lock is of type 'RO' and is in exclusive mode. At the writing of this help aid, there doesn't seem to be a documented explanation of P2 or P3. So the use of this view is limited to finding the session only. At this point, you should be able to track back to an application. You might also find the V$ENQUEUE_STAT view helpful in that it tracks detailed statistics for each enqueue. As it is never a good idea to continually add and drop tables in an application, you should look for excessive requests, (total_req#), failed requests, (failed_req#), and of course the accumulated amount of time spent on this enqueue (cum_wait_time). Use the following SQL to monitor this view. SELECT eq_type, total_req#, total_wait#, succ_req#, failed_req#, cum_wait_time FROM v$enqueue_stat WHERE eq_type = 'RO' Solutions Excessive wait on the RO enqueue is experienced by one of two events: Check application logic or if administrative tasks have occurred. Since this is a concurrency issue, logic and processes should be examined to eliminate needless DROP or TRUNCATE commands. Also better alternatives should be sought out such as the use of temporary tables or rescheduling for less concurrency. Since the RO enqueue is reliant upon checkpointing, DBWR, and buffer cache performance, tuning these areas will help in reducing the wait time for the RO enqueue locking mechanism. Problems with the RO enqueue waits often revolve around bugs in the Oracle software. This isn't new but when trouble shooting, investigations should also be done around bugs seen in checkpointing, DBWR, and the buffer cache. This is because these areas can adversely effect the time spent waiting for the RO enqueue. Expanded Definition Under normal circumstances dropping or truncating a table is a quick event. But when your database is not properly configured or application logic stresses the boundaries of normal processing you can experience problems with the RO enqueue wait event. So with a small effort to properly configure the database and with some re-visiting of application logic, this wait event should be one you will hopefully never see.

本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1277917

转载地址:http://hbfna.baihongyu.com/

你可能感兴趣的文章
mnesia
查看>>
python编程基础之二十一
查看>>
YouTrack Changing Database Location for EXE Distribution(windows service)
查看>>
Cooperation.GTST团队第二周项目总结
查看>>
zookeeper与kafka安装部署及java环境搭建(发布订阅模式)
查看>>
settings
查看>>
3617:Best Cow Line
查看>>
JavaScript学习总结(4)——JavaScript数组
查看>>
【kmp】hdu1171 Number Sequence
查看>>
计算机网络-自定向下方法之计算机网络和因特网
查看>>
[若有所悟]提升工作效率的一些小技巧——资源管理器篇
查看>>
BI数据库管理RPD配置
查看>>
binary-tree-maximum-path-sum(mock)
查看>>
error C2244 "无法将函数定义与现有的声明匹配"的解决方法
查看>>
自己搭建一个记笔记的环境记录(leanote)
查看>>
浏览器处理由带BOM的utf-8格式的php文件输出的HTML问题
查看>>
C++排序算法小结
查看>>
智课雅思词汇---十四、ante,anti不仅是词根还是前缀
查看>>
地址总线
查看>>
IP通信基础课堂笔记----第二章(重点)
查看>>