« 悩ませ過ぎは及ばざるがごとし #7 - おまけ | トップページ | VIrtualBox 4.1.4 released »

2011年9月13日 (火)

オラクルは会議室で動いてんじゃな〜〜イ。統計情報で動いてんだ!

と少々無理矢理なタイトル付けてみました:) 今回はチューニングはチューニングでも、statspack.snap()のチューニングのお話。

注)表現はそれなりに脚色してありますw


ある日のこと。

大トラブルなんです〜(こういう人、うまくいってないプロジェクトにはよくいます。全然”大”じゃないのに、もう口癖なんでしょうねw)

statspack.snap()がものすごく遅いんです! なんとかなりませんか?

ん〜〜〜、で、状況を教えてください。

PERFSTAT> 
PERFSTAT> exec statspack.snap(i_snap_level=>7,i_executions_th=>0);

PL/SQLプロシージャが正常に完了しました。

経過: 00:00:31.46

・・・・中略・・・・

PERFSTAT> exec statspack.snap(i_snap_level=>7,i_executions_th=>0);

PL/SQLプロシージャが正常に完了しました。

経過: 00:06:28.02

説明によると、こんな状況になっていたらしい。最初は30秒ぐらいで終わっていたのに、ここ最近は5分以上になり今日はついに6分超えたとか。

で……statspack.snap()の時間がかかってて試験の消化に支障でてんですよね…とか、

マシン貧弱だからな…とか、

と打ち合わせでも話題になることしばしば…


で、この状態になってからやっと、訪ねてきたわけね.

・・・・マシン環境について、しばし歓談タイム〜・・・・

話していて気づいた!

あ!、その試験環境って、統計情報の自動収集は止められてますよね。しかも試験する時に取得している統計情報って試験用のユーザだけ統計情報収集していますよね〜。

あれだ!、  感のいいかあなたなら気づきましたよね。ね。ね。:)

次のディクショナリを見れば一目瞭然! :)

PERFSTAT> select table_name,num_rows,stale_stats,last_analyzed from user_tab_statistics;

TABLE_NAME NUM_ROWS STA LAST_ANA
------------------------------ ---------- --- --------
STATS$BUFFERED_QUEUES
STATS$BUFFERED_SUBSCRIBERS
STATS$BUFFER_POOL_STATISTICS
STATS$CR_BLOCK_SERVER
STATS$CURRENT_BLOCK_SERVER
STATS$DATABASE_INSTANCE
STATS$DB_CACHE_ADVICE
STATS$DLM_MISC
STATS$DYNAMIC_REMASTER_STATS
STATS$ENQUEUE_STATISTICS
STATS$EVENT_HISTOGRAM

・・・・中略・・・・

STATS$STREAMS_POOL_ADVICE
STATS$SYSSTAT
STATS$SYSTEM_EVENT
STATS$SYS_TIME_MODEL
STATS$TEMPSTATXS
STATS$TEMP_SQLSTATS
STATS$THREAD
STATS$TIME_MODEL_STATNAME
STATS$UNDOSTAT
STATS$WAITSTAT

72行が選択されました。


じゃ〜、統計情報収集しましょーよー、ちゃんと! 

23:58:46 PERFSTAT> execdbms_stats.gather_schema_stats(ownname=>'PERFSTAT',no_invalidate=>false,cascade=>true);

PL/SQLプロシージャが正常に完了しました。

経過: 00:00:04.02

試してみて!、 staspack.snap()を!  ね!  前よりすげー速くなった!

23:58:50 PERFSTAT> exec statspack.snap(i_snap_level=>7,i_executions_th=>0);

PL/SQLプロシージャが正常に完了しました。

経過: 00:00:01.38


STATSPACK.SNAP()内で実行されてるSQL文にも統計情報は必要ですよーーーーーーーーーーーーと。

ごれぐらい”ー”付けてればわかってくれるかなー:)


一発ネタは、これにて FIN

|

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/106341/52716133

この記事へのトラックバック一覧です: オラクルは会議室で動いてんじゃな〜〜イ。統計情報で動いてんだ!:

コメント

コメントを書く