OracleDB

[OracleDB] AWRスナップショットの手動取得と削除方法

2018年7月15日

こんにちは!土門大貴(daikidomon)です。

AWR(Automatic Workload Repository)スナップショットの手動取得と削除方法を紹介します。

AWRとはOracle Databaseの稼働統計とワークロード情報のスナップショットを自動的に収集・管理する機能です。

きちんと設定しておけば定期的にスナップショットの取得と削除を行うことはできますので、

本手順は

  • 性能試験時にスナップショットを手動取得
  • 容量過多でAWR領域を減らす

する場合に使用してください。

通常運用では自動で取得とパージの設定を行いましょう。

以下、自動取得と削除の設定についての記事になります。

[OracleDB] AWRの設定方法。取得間隔・保存期間や取得レベルは何を設定すべきか?

こんにちは!土門大貴(daikidomon)です。 AWR(Automatic Workload Repository) ...

続きを見る

なお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;
/

 

関連記事

-OracleDB

Copyright© スタートアップIT企業社長のブログ , 2020 All Rights Reserved.