从3.237的监控机器上看到有waits的异常.
时间在昨晚10点左右.
为multi-block read.
猜测为表扫所导致的现象.
立马调出AWR报告看看.
Top 5 Timed Events Avg%Total
~~~~~~~~~~~~~~~~~~ wait Call
Event Waits Time (s) (ms) Time Wait Class
------------------------------ ----------------------- ------ ------ ----------
db file scattered read 414,758 712 2 26.5 User I/O
CPU time 681 25.3
db file sequential read 76,454 414 5 15.4 User I/O
db file parallel write 8,284 11 1 0.4 System I/O
control file parallel write 1,759 9 5 0.3 System I/O
排在第一的是db file scattered read,
典型的全表扫描或索引快速全局扫描??
继续往下翻AWR报告吧.
SQL ordered by Gets
Gets CPU Elapsed
BufferGets Executions per Exec %Total Time (s) Time (s) SQL Id
-------------- ------------ ------------ -------------- --------- -------------
46,155 60 769.3 0.8 1.80 6.54 6gvch1xu9ca3g
DECLARE job BINARY_INTEGER := :job; next_date DATE:= :mydate; broken BOOLEAN :
= FALSE; BEGINEMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS(); :mydate := next_date
; IF broken THEN :b := 1; ELSE :b := 0; END IF;END;
从SQL Orderedby gets上定位,
问题出在这个emdbconsole的程序,
翻阅资料,确认是bug
Bug 8627066: JOBEMD_MAINTENANCE.EXECUTE_EM_DBMS_JOB_PROCS() IS INCREASING LOAD ON DATABASE
看来这个问题再次发生的话,就考虑把EM关了.
emctl stop dbconsole