2011年01月28日 oracle パフォーマンスチューニング メモ

By | 2011年1月27日

ここ数日、oracle パフォーマンスチューニング 10g研修を受講中。メモ。
 
 
○1. パフォーマンスツール(AWR,ADDM)を使用するには。
 ・Enterprize EditionかつDatabase Diagnostic Pack(有償ライセンス)が必要。
 ・オラクルのHPで標準価格を確認したところ、CPU毎にそれぞれ数百万・数十万する模様。
 
 
○2. DB時間
 ・DB時間=DB待機時間+DB CPU時間。
 ・待機時間大→インスタンスチューニング。
 ・CPU時間大→SQLチューニング。
 
 
○3. パフォーマンスチューニング データ
 ・動的パフォーマンスビュー。メトリック。ASH。
 ・動的パフォーマンスビュー:v$sysstat,v$system_event,v$system_waitclass等。
 ・一般的な待機イベント:buffer busy waits,free buffer waits等。
 
 
○4. ベースライン 
 ・障害発生した時に、問題ない状態と比較できるように。
 
 
○5. statspack
 ・Standard Editionならこれで調査する。
 ・statspackのインストールとスナップショット取得。レポート作成。
 
 
○6. AWR・ADDM・ASH
 ・Statspackとほぼ同等の内容。自動化。
 ・スナップショット取得とレポート作成。EMでもsqlplusからでも。
 ・ADDM。改善を提案してくれる。
 
 
○7. 共有プールのチューニング
 ・解析順序。
   1.オープンカーソル(open_cursors)
   2.クローズカーソル(session_cached_cursors)
   3.ハッシュチェーン(ソフト解析)
   4.カーソル構築(ハード解析)
 ・latch:shared pool,latch:library cache
 ・ミューテックス。oracle側で自動適用。v$sqlstasからのselect。
 ・v$sqlarea(カーソルハンドル),v$sql(実行計画)
 ・cursor_sharingをforceにしてリテラルをバインド変数に変換。
   ハード解析を下げてパフォーマンス向上。
 ・ライブラリキャッシュヒット率・ディクショナリキャッシュヒット率