- 論壇徽章:
- 0
|
本帖最后由 dandyt_t 于 2010-11-26 09:25 編輯
作者:佚名 來源:http://database.51cto.com/art/201004/196136.htm
摘要:本文詳細(xì)敘述了Oracle性能優(yōu)化的前4個步驟:設(shè)立合理的Oracle性能優(yōu)化目標(biāo),測量并記錄當(dāng)前的Oracle性能等,略寫了確定當(dāng)前OS瓶頸,Oracle性能優(yōu)化所需的成分等幾個方面。
標(biāo)簽:Oracle性能 優(yōu)化
Oracle性能優(yōu)化基本方法包括一下幾個步驟,包括:
1)設(shè)立合理的Oracle性能優(yōu)化目標(biāo)。
2)測量并記錄當(dāng)前的Oracle性能。
3)確定當(dāng)前Oracle性能瓶頸(Oracle等待什么、哪些SQL語句是該等待事件的成分)。
4)把等待事件記入跟蹤文件。
5)確定當(dāng)前的OS瓶頸。
6)優(yōu)化所需的成分(應(yīng)用程序、數(shù)據(jù)庫、I/O、爭用、OS等)。
7)跟蹤并實施更改控制過程。
8)測量并記錄當(dāng)前性能
9)重復(fù)步驟3到7,直到滿足優(yōu)化目標(biāo)
下面來一一詳述。
1.設(shè)立合理的Oracle性能優(yōu)化目標(biāo)
重點:關(guān)于設(shè)立目標(biāo)的最重要的一點是它們必須是可量化和可達到的。
方法:目標(biāo)必須是當(dāng)前性能和所需性能的的陳述形式的語句。
2.測量并記錄當(dāng)前Oracle性能重點:
1)需要在峰值活動時間獲得當(dāng)前系統(tǒng)性能快照
2)關(guān)鍵是要在出現(xiàn)性能問題的時間段內(nèi)采集信息
3)必須在合理的時間段上采集,一般在峰值期間照幾個為期15分鐘的快照
3.確定當(dāng)前Oracle性能瓶頸重點:
從Oracle 等待接口v$system_event、v$session_event和v$session_wait中獲得等待事件,進而找出影響性能的對象和sql語句。方法如下:
1)首先,利用v$system_event視圖執(zhí)行下面的查詢查看數(shù)據(jù)庫中某些常見的等待事件:
1.JPG (14.77 KB, 下載次數(shù): 18)
下載附件
2010-11-25 17:22 上傳
2)接著,利用下面對v$session_event和v$session視圖進行的查詢,研究具有對上面顯示的內(nèi)容有貢獻的等待事件的會話:
2.JPG (14.63 KB, 下載次數(shù): 15)
下載附件
2010-11-25 17:22 上傳
3)使用下面查詢找到與所連接的會話有關(guān)的當(dāng)前等待事件。這些信息是動態(tài)的,為了查看一個會話的等待最多的事件是什么,需要多次執(zhí)行此查詢。
3.JPG (14.7 KB, 下載次數(shù): 27)
下載附件
2010-11-25 17:22 上傳
4)查詢會話等待事件的詳細(xì)信息
4.JPG (9.86 KB, 下載次數(shù): 29)
下載附件
2010-11-25 17:23 上傳
5)利用P1、P2的信息,找出等待事件的相關(guān)的段
5.JPG (10.71 KB, 下載次數(shù): 17)
下載附件
2010-11-25 17:23 上傳
6)獲得操作該段的sql語句:
6.JPG (8.43 KB, 下載次數(shù): 26)
下載附件
2010-11-25 17:24 上傳
7)getsqltxt函數(shù)
至此已經(jīng)找到影響性能的對象和sql語句,可以有針對性地優(yōu)化
4.把等待事件記入跟蹤文件
重點:如果在跟蹤系統(tǒng)上的等待事件時,由于某種原因遇到了麻煩,則可以將這些等待事件記入一個跟蹤文件。方法如下:
1)對于當(dāng)前會話:
7.JPG (11.07 KB, 下載次數(shù): 24)
下載附件
2010-11-25 17:25 上傳
2)執(zhí)行應(yīng)用程序,然后在USER_DUMP_DEST指出的目錄中找到跟蹤文件。
3)查看文件中以詞WAIT開始的所有行。
4)對于其它的會話
5)確定會話的進程ID(SPID)。下面的查詢識別出名稱以A開始的所有用戶的會話進程ID:
8.JPG (9.36 KB, 下載次數(shù): 22)
下載附件
2010-11-25 17:25 上傳
6)以sysdba進入sqlplus執(zhí)行
9.JPG (11.89 KB, 下載次數(shù): 21)
下載附件
2010-11-25 17:26 上傳
7)跟蹤某個時間間隔得會話應(yīng)用程序。
在USER_DUMP_DEST 的值指出的目錄中利用SPID查看跟蹤文件
9)查看文件中以詞WAIT開始的所有行。
5.確定當(dāng)前OS瓶頸1)Windows NT上的監(jiān)控
使用控制面板-〉管理工具-〉性能即可
2)UNIX上的監(jiān)控
使用通用性的工具,包括sar、iostat、cpustat、mpstat、netstat、top、osview等。
6.Oracle性能優(yōu)化所需的成分(應(yīng)用程序、數(shù)據(jù)庫、I/O、爭用、OS等)。
7.跟蹤并實施更改控制過程。
8.測量并記錄當(dāng)前Oracle性能
9.重復(fù)步驟3到7,直到滿足優(yōu)化目標(biāo) |
|