Oracle資料庫出現連線超時案例之一

mengzhaoliang發表於2009-03-25

環境:AIX5.3  Oracle10.2.0.1.0

在資料庫的alert_sid.log日誌中出現:

Tue Mar 19 03:13:59 2009

WARNING: inbound connection timed out (ORA-3136)

Tue Mar 19 03:15:11 2009

WARNING: inbound connection timed out (ORA-3136)

 

    原來資料庫的備份是在凌晨200,出現了連線超時問題。後來把備份的時間改為了凌晨300,還是出現了同樣的問題。

 

    從NMON軟體監控系統可以看到資料庫在凌晨300335分之間進行備份資料,備份期間磁碟IO讀比較大,IO壓力過於集中。

 

   

        後來檢視Oracle資料庫的AWR(自動負載資源庫)報告和ADDM(自動資料庫診斷監控)報告,知道哪些資料庫的等待事件和資料庫的調整建議。

 

(ash、awr、addm報告指令碼一般位於$ORACLE_HOME/rdbms/admin/目錄下)

執行時:(@表示執行指令碼,?表示$ORACLE_HOME目錄)

如:

sql>@?/rdbms/admin/ashrpt.sql   

sql>@?/rdbms/admin/awrrpt.sql   

sql>@?/rdbms/admin/addmrpt.sql   

 

 

 

    在凌晨300400之間的資料庫5個最大的等待事件:出現3個“latch”等待事件,主要是因為在系統開發中,很多sql語句沒有繫結變數、查詢資料時沒有索引造成的;“RMAN backup & recovery”事件是備份資料時磁碟IO頻繁讀取造成的;“CPU time”等待事件則是由於3個“latch”等待事件消耗比較多的記憶體和備份時出現IO頻繁讀取造成的;

 

 

在凌晨300400資料庫ADDM(自動資料庫診斷監控)報告的建議為:

1、調整消耗記憶體比較大、執行時間比較長,呼叫頻繁的sql語句;

2、調整系統應用程式邏輯

       3、配置資料庫(如調整備份的策略)

 

把Oracle中ADDM中的sql語句簡單最佳化了(建立了相關的表索引,減少很多執行時間、記憶體、磁碟bytes)

 

檢查資料庫日誌,沒有出現連線超時的現象,先觀察若干天看看。

 

 

 

 

   

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

相關文章