The Dragon Scroll

Be just and fear not.

10gがもたらす福音(2)〜AWR。

本日は自動ワークリポジトリについて。

AWRとは、自己チューニング等を目的に定期的に収集された
情報のこと。


収集される統計情報のレベルはSTATISTICS LEVEL
パラメータによって異なる。
BASIC…統計情報は収集しない
TYPICAL…デフォルト。通常必要とされる統計を収集する
ALL…取得可能な統計を全て収集する。


AWRは、
1メモリー内の統計情報
2永続的に保管するスナップショット
で構成されている。


1にはASH(ActiveSessionHistory)という名前のバッファが
あり、1秒間に1回の頻度で、最新の情報が保存されている。
このバッファは循環して使用されるため、満杯になると
MMNL(ManageabilityMonitorLight)によって、ディスクに
書き出される。
書き出された情報は最終的にAWRスナップショットに
マージされる。


2については、MMON(ManageabilityMonitor)が必要な
情報を取捨して保管したものである。
デフォルトでは、60分に1回、MMONによって、
SYSAUX表領域に保存される。


手動でスナップショットを作成することもできる。
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT


AWRスナップショットのベースラインの作成。
DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE(
start_snap_id => 100 --最初のスナップショット番号
end_snap_id => 101 --最後のスナップショット番号
baseline_name => 'base01' --ベースライン名
)


ベースラインとは、AWRの保存期間がデフォルトで7日間のため、
パージされてしまわないように、別途保管しておく
スナップショットのことである。


AWRスナップショットの確認するためのスクリプトは次のとおり。
$ORACLE_HOME/rdbms/admin/awrrpt.sql
このSQLを実施することで、テキストまたはHTML形式のレポート
を作成することができる。


AWRスナップショットの保存期間や、取得間隔を調整する
プロシージャ。
DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(
retention => 1440 --保存期間。分指定。
interval => 60 --取得間隔。分指定。
)


retentionに0を指定すると…
自動的に削除されることはなくなる。
SYSAUX表領域の空きが不足すると、最も古いAWRスナップショットから
削除される。


intervalに0を指定すると…
自動取得されなくなる。


スナップショットの設定確認→DBA_HIST_WR_CONTROL