動的パフォーマンスビュー


V$SQL,V$SQL_TEXT,V$SQL_PLAN。
現在共有SQL領域にキャッシュされているSQLの情報が格納されている。
これらを用いて、チューニングが可能。


1.V$SQLで調査したいSQLのSQLIDを調べる

SELECT 	* 
FROM 	V$SQL
WHERE	SQL_TEXT LIKE '%HOGE_TBL%'


2.EnterPrise Manager DataBaseConsoleからGUIで実行計画を調べる


2-1.EnterPrise Managerの「パフォーマンス」タブ「トップアクティビティ」をクリック


2-2.上位SQLで適当なSQLをクリック


2-3.画面上部の「SQL IDに切替え」に調べたいSQLIDを入力



V$SQL_PLANでも実行計画を調べることは可能

SELECT 	*
FROM	V$SQL_PLAN
WHERE	SQL_ID = 'FHBPD61SRVDT6'


遅いSQLを検索するSQL

SELECT	 SQL_TEXT
		,SQL_ID
		,EXECUTIONS 			AS	実行回数
		,ELAPSED_TIME / 1000000		AS	経過時間_単位秒
		,CPU_TIME / 1000000			AS	CPU時間_単位秒
FROM	V$SQL
ORDER BY ELAPSED_TIME DESC 

※ELAPSED_TIMEの値はマイクロ秒(10gR2の場合)なので1000000で割っている




動的パフォーマンスビューではキャッシュされているSQLしか確認できない。
実行されたすべてのSQLを確認したい場合はSQLトレースをONにするする必要がある。