Personal tools
You are here: Home ブログ horii 統計情報のワナ
« December 2010 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Recent entries
統計情報のワナ horii 2007-12-05
Categories
oracle
 
Document Actions

統計情報のワナ

Oracle10gからCBOしかサポート対応しなくなったのは有名な話です。
肝心のCBOに必要な統計情報を収集するジョブがあるのですが、収集する日時が若干変です。

統計情報を収集するスケジュールは
systemユーザーで下記のSQLを実行することで確認ができます


SQL> SELECT sw.window_name, sw.repeat_interval, sw.duration
     FROM all_scheduler_wingroup_members swm
     INNER JOIN all_scheduler_windows sw
     ON swm.window_name = sw.window_name
     WHERE swm.window_group_name = 'MAINTENANCE_WINDOW_GROUP';

実行すると下記のような結果となります。

SW.WINDOW_NAME   SW.REPEAT_INTERVAL                                                   SW.DURATION
---------------- --------------------------------------------------------------------- ----------------------
WEEKNIGHT_WINDOW freq=daily;byday=MON,TUE,WED,THU,FRI;byhour=22;byminute=0; bysecond=0 +000 08:00:00
WEEKEND_WINDOW   freq=daily;byday=SAT;byhour=0;byminute=0;bysecond=0                   +002 00:00:00

上記の結果によると、統計情報が収集されるスケジュールは
WEEKNIGHT_WINDOW→月~金曜日の毎日22時から8時間
WEEKEND_NIGHT→土日曜日0時から2日間
ということになります

平日は毎晩1回収集するという設定にもかかわらず、土日は2日で1回しか
統計情報が収集されません。
またこのままの設定だと金曜の22時に収集した後の8時間後の土曜6時に収集するというスケジュールになり、
統計情報を取る意味がまったくありません。

データの量にもよりますが土日に更新が多いようなデータベースの場合、
月曜日のパフォーマンスが心配になってきます。

ありがちなパターンとしては
業務系のシステムで従業員からのアクセスがない土日に大量のデータを更新
月曜日にアクセスした場合、統計情報が古いためパフォーマンスの悪化が発覚
といったケースが考えられます。

こうした自体を防ぐためには下記のいずれかの対策をとる必要があります。
・大量のデータを更新後統計情報を取り直す
・土日の夜も平日の夜と同じように統計情報をとるようにする
・月曜日のアクセスはがまんしてもらう

・大量のデータを更新後統計情報を取り直す
には下記のSQLを実行し、統計情報を更新します。


SQL> BEGIN
       DBMS_STATS.GATHER_DATABASE_STATS ();
     END;
     /

・土日の夜も平日の夜と同じように統計情報をとるようにする
にはsysユーザーで下記のようなSQLを実行する必要があります。


SQL> EXECUTE DBMS_SCHEDULER.SET_ATTRIBUTE('WEEKEND_WINDOW','repeat_interval','freq=daily;byday=SAT, SUN;byhour=8;byminute=0;bysecond=0');
SQL> EXECUTE DBMS_SCHEDULER.SET_ATTRIBUTE('WEEKEND_WINDOW','duration','+000 08:00:00');

・月曜日のアクセスはがまんしてもらう
この場合は批判を甘んじて受け入れる覚悟をしておきましょう。


Category(s)
oracle
The URL to Trackback this entry is:
http://dev.ariel-networks.com/Members/horii/7d718a0860c55831306e30ef30ca/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
(Required)
This helps us prevent automated spamming.
Captcha Image


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.