Oracle效能診斷一例

husthxd發表於2008-10-28

§1.1    問題和現象

2008年10月25日,資訊部相關人員在後臺進行批次的欄目增,刪,改併發操作時,出現凡是涉及到許可權的操作都變得很慢。

§1.2    診斷過程和解決方案

透過駐現場開發人員瞭解到,2008年10月25日出現問題後,前臺或後臺與許可權表T相關的查詢操作都很慢,而且在後臺管理系統中執行刪除欄目資訊操作時發現應用一直在等待,沒有任何響應。據此,首先建立與T表結構一樣的表T_X,SQL語句中用T_X代替T後,發現相關的SQL變正常。同時,在執行欄目刪除操作時,查詢資料庫的鎖定資訊:

SELECT t2.object_name,t3.*

FROM v$locked_object t1,dba_objects t2,v$session t3

WHERE t1.OBJECT_ID = t2.OBJECT_ID

AND t1.session_id = t3.sid;

可以看到許可權表T被其他應用程式鎖定,資源一直釋放,導致刪除操作一直在等待。

由此可推斷,是因為表T被鎖定的原因影響查詢、刪除等操作,這種情況,一般可透過重啟資料庫的方式釋放資源,但為保證應用系統7X24的執行,生產資料庫不能重啟。同時發現資料庫是RAC架構,後臺管理系統連線到其中的一個資料庫例項5.3上,由於鎖定與例項相關與資料庫無關,嘗試把資料庫連線轉換到另外一個例項5.4上,執行測試欄目資料的刪除操作,可以很快的完成,相關的查詢亦很正常,順利解決資源的鎖定問題。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-478444/,如需轉載,請註明出處,否則將追究法律責任。

相關文章