Performance

Oracle:TRUNCATE 有時需要很長時間

  • June 2, 2016

通常,截斷表格需要 5-10 秒。但是當幾個人在同一個數據庫實例(但不同的表)上工作時,操作可能需要一個多小時。我該如何調試?

’truncate table’ 命令使用的表或數據字典資源上的鎖定可能會導致此問題。在執行截斷之前,系統可能正在等待資源被釋放。

檢查會話是否被阻塞等待釋放鎖。

查看orafaq.com/node/854dba-oracle.com/t_locked_rows_user_locks.htm中描述的查詢,找出哪些鎖可能被阻塞。

使用 SAN 儲存時,filesystemio_options應檢查參數設置。將參數設置為SETALLASYNCH緩解截斷執行期間的日誌文件同步等待。

在繁忙的系統上,還建議執行額外的數據庫寫入器。

引用自:https://serverfault.com/questions/55999