資料庫診斷一例

husthxd發表於2008-06-17
平臺:

生產環境:
安騰64bit CPUx8
16G memory
Windows 2003 Server 64bit
測試環境:
安騰64bit CPUx4
8G memory
Windows 2003 Server 64bit

現象:
同樣的一條SQL語句,生產機執行需要200s,測試機上只需要5s,效能有巨大差異。

不在現場,透過常規的診斷步驟去判斷:
1.由於資料庫引數沒有調整過,使用安裝時的預設引數,首先進行 資料庫引數調優
a.sga_max_size修改為實體記憶體的60%
b.sga_target修改為實體記憶體的50%
c.pga_aggregate_target修改為實體記憶體的25%

2.收集統計資訊
exec dbms_stats.gather_schema_stats(ownname=>'',DEGREE=>CPU數目);
如有多個使用者,修改,重複執行該過程。

完成上面兩個步驟後,現象依舊。
再次溝通後,發現生產機所有的sql均有這樣的情況,懷疑是磁碟陣列的問題。
於是在測試環境和開發環境以sysdba登入均執行以下語句:
sql>set timing on
sql>create tablespace tbs_test datafile '\tbs_test01.dbf' size 2048M;
sql>drop tablespace tbs_test including contents and datafiles;
並記錄執行時間。

發現生產環境耗時4分50秒,測試環境耗時45秒。

由此診斷可斷定是磁碟陣列的問題,已要求廠商解決。


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

相關文章