今天truncate一个分区时明显比以前慢很多,查看进程的等待事件是enq: RO - fast object reuse,以前truncate都很快没有特意看过运行时的等待事件。
百度后找到答案:dbw0进程写回buffer cache中的脏数据块, 出现这个等待事件时运行alter system flush buffer_cache;会有效,我没有运行当我再去看时已经执行完了
据说用dbms_stats进行分析时也可能会遇到
Applies to: Oracle Server - Enterprise Edition - Version: 10.2.0.4 This problem can occur on any platform. Symptoms * Database has been recently upgraded from 10.2.0.1 to 10.2.0.4. * There is 'enq: RO - fast object reuse' contention when gathering schema/table statistics in parallel using DBMS_STATS package (with DEGREE>1). Cause Bug 7385253 10.2.0.4 RDBMS 10.2.0.4 BUFFER CACHE PRODID-5 PORTID-59 Abstract: DBWR IS CONSUMING HIGH CPU The system state dumps shows that the CKPT background process is the one holding the needed RO enqueue although it is actually doing nothing. |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16572356/viewspace-689702/
,如需转载,请注明出处,否则将追究法律责任。