truncate操作巨慢

suifeng2316發表於2013-03-19
下午同事反映,一個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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章