下午同事反映,一个truncate table xx 的操作巨慢,平时毫秒级别就完了,今天执行了30分钟还是没执行完。
经检查发现:truncate table 操作,
同时伴随着local write wait等待。
关于local write wait等待:
Oracle想重复使用local buffer,而dbwr也想将脏的数据库块写回文件,于是就进入了wait.
同时发现日志文件,基本上都属于active状态:
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- -------------------
17 1 124489 419430400 2 YES INACTIVE 2.1420E+11 2013-03-19 11:45:00
29 1 124490 419430400 2 YES INACTIVE 2.1420E+11 2013-03-19 12:09:08
30 1 124491 419430400 2 YES ACTIVE 2.1420E+11 2013-03-19 12:10:57
。。。。。。。。。。。。。。。。。。。。。。。。。。。。
22 1 124501 419430400 2 YES ACTIVE 2.1421E+11 2013-03-19 12:33:24
alert告警日志中也出现以下错误:
Tue Mar 19 14:32:32 2013
Process J001 died, see its trace file
Tue Mar 19 14:32:32 2013
kkjcre1p: unable to spawn jobq slave process
Tue Mar 19 14:32:32 2013
Errors in file /home/oracle/admin/mspdb/bdump/mspdb_cjq0_19833.trc:
正要去核实时,同事反应truncate执行完了,同时检查发现,联机日志状态除了当前组都属于inactive状态,貌似系统也恢复的正常,初步感觉是dbwr写过慢,io遇到瓶颈,内存不足。。。进一步确认中。。。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23073818/viewspace-756527/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23073818/viewspace-756527/