truncate操作巨慢

下午同事反映,一个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遇到瓶颈,内存不足。。。进一步确认中。。。





请使用浏览器的分享功能分享到微信等