ちょっと用事があったのでまとめます。
AWRの保持期間を変更して、(しばらく運用してから)awrextr.sql で別環境に移行することを想定。
容量のチェックとか必要そうなポイントをまとめました。
1. AWRで使用している領域の確認
SQL> select SCHEMA_NAME, trunc(SPACE_USAGE_KBYTES/1024,1) "SPACE_USAGE_MB"
2 from v$sysaux_occupants
3 where OCCUPANT_NAME='SM/AWR'
SCHEMA_NAM SPACE_USAGE_MB
---------- ------------------
SYS 472
2. SYSAUX の空き領域の確認
SQL> select
2 round(f.free/1024/1024, 1) FREE_MB,
3 round(t.total/1024/1024, 1) TOTAL_MB
4 from
5 (select sum(bytes) total from dba_data_files where tablespace_name='SYSAUX') t,
6 (select sum(bytes) free from dba_free_space where tablespace_name='SYSAUX') f
7 /
FREE_MB TOTAL_MB
---------- ----------
164.6 1230
3. SYSAUX が足りない場合は、自動拡張も確認。
SQL> select
2 file_name,
3 round(bytes/1024/1024,1) BYTES_MB,
4 autoextensible,
5 round(maxbytes/1024/1024,1) MAXBYTES_MB
6 from
7 dba_data_files
8 where
9 tablespace_name='SYSAUX';
FILE_NAME BYTES_MB AUT MAXBYTES_MB
--------------------------- ---------- --- -----------
.../sysaux01.dbf 1230 YES 32768
4. AWRの設定を確認
SQL> select dbid,snap_interval, retention from dba_hist_wr_control;
DBID SNAP_INTERVAL RETENTION
---------- ------------------------- -------------------------
9999999999 +00000 01:00:00.0 +00008 00:00:00.0
5. 設定変更
保持期間(RETENTION) や SNAP間隔(INTERVAL) を変更できます。以下は、保持期間を30日に変更しいます。
SQL> BEGIN
2 DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS
3 (retention => 43200, interval=> 60);
4 END;
5 /
PL/SQLプロシージャが正常に完了しました。
6. awrextr.sql 用にディレクトリ作成
SQL> create or replace directory TMP_DIR as '/tmp';
ディレクトリが作成されました。
7.awrextr.sql で抽出
SQL> @$ORACLE_HOME/rdbms/admin/awrextr.sql
入力項目は、、、、
- dbidに値を入力してください:
- num_daysに値を入力してください:
- begin_snapに値を入力してください:
- end_snapに値を入力してください:
- directory_nameに値を入力してください:
- file_nameに値を入力してください:
こんな感じ。
他に確認しておくポイントはないかなぁ・・・。
なにかあればアップデートします。