AWR(Automatic Workload Repository)スナップショットの手動取得と削除方法を紹介します。
AWRとはOracle Databaseの稼働統計とワークロード情報のスナップショットを自動的に収集・管理する機能です。
きちんと設定しておけば定期的にスナップショットの取得と削除を行うことはできますので、
本手順は
- 性能試験時にスナップショットを手動取得
- 容量過多でAWR領域を減らす
する場合に使用してください。
通常運用では自動で取得とパージの設定を行いましょう。
以下、自動取得と削除の設定についての記事になります。
[OracleDB] AWRの設定方法。取得間隔・保存期間や取得レベルは何を設定すべきか?
AWR(Automatic Workload Repository)の各種設定方法を紹介します。 AWRとはOracle Databaseの稼働統計とワークロード情報のスナップショットを自動的に収集・管理する...
なおAWR利用には「Diagnostic Pack」のライセンスが追加で必要になります。
目次
AWRスナップショットの取得
AWRスナップショットの手動取得方法は、SQL*PlusにSYSユーザでログインし以下のSQLを実行します。
EXECUTE DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
以下のSQLで取得出来たことを確認できます。
select
DBID,
END_INTERVAL_TIME,
SNAP_FLAG
from
DBA_HIST_SNAPSHOT
order by
END_INTERVAL_TIME;
以下、出力例です。
DBID END_INTERVAL_TIME SNAP_ID SNAP_FLAG
---------- ---------------------------- ---------- -------------
1469414445 18-07-14 13:30:06.832 323 0
1469414445 18-07-14 16:28:48.761 324 1
AWRスナップショットの削除
AWRスナップショットの手動取得方法は、
SQL*PlusにSYSユーザでログインし以下のSQLを実行します。
begin
DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(
low_snap_id => <削除対象のスナップショット開始番号>,
high_snap_id => <削除対象のスナップショット終了番号>,
dbid => <DBID>);
end;
/
カンマなどで囲わず、数値型で指定してください。
下が実行例になります。
begin
DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(
low_snap_id => 221,
high_snap_id => 324,
dbid => 1469414445);
end;
/
Oracleの基本 ~データベース入門から設計/運用の初歩までposted with ヨメレバ
渡部 亮太,相川 潔,日比野 峻佑,岡野 平八郎,宮川 大地 技術評論社 2017-09-22