linux環境での出力手順は以下の通りです。
AWRが利用できる環境かどうか確認する
select name,value from v$parameter where name = 'control_management_pack_access' ;
SQL> set sqlformat ansiconsole
SQL> select name,value from v$parameter where name = 'control_management_pack_access'
2 ;
NAME VALUE
_________________________________ ____________________
control_management_pack_access DIAGNOSTIC+TUNING
SQL>
NONE と表示されると利用できません
取得期間の確認
select * from dba_hist_wr_control ;
SNAP_INTERVAL・・・スナップショットインターバル
RETENTION ・・・保有期間(日)
SQL> select * from dba_hist_wr_control
2 ;
DBID SNAP_INTERVAL RETENTION TOPNSQL CON_ID
____________ ______________________ ______________________ __________ _________
598209400 +00 01:00:00.000000 +08 00:00:00.000000 DEFAULT 0
SQL>
実行ユーザに必要なシステム権限
以下権限が必要です。中でも、DBMS_WORKLOAD_REPOSITORYプロシージャの実行権限はSYSスキーマからでないと権限付与ができません。(権限についてとやかく考えたくなければ、systemスキーマで出力すれば問題なしです)
1 | SELECT ANY DICTIONARY | システム権限 |
2 | CREATE SESSION | システム権限 |
3 | EXECUTE ON DBMS_WORKLOAD_REPOSITORY | オブジェクト権限 |
grant select any dictionary to sooni; -- システム権限付与 grant create session to sooni; -- システム権限付与 grant execute on dbms_workload_repository to sooni; --オブジェクト権限
$ORACLE_HOMEを確認し、sql*Plusを使い実行ユーザでログイン
echo $ORACLE_HOME
[oracle@vm013 ~]$ echo $ORACLE_HOME
/usr/oracle/app/product/12.1.0/dbhome_1
[oracle@vm013 ~]$ sqlplus sooni/sooni@vm103/orau8
:
:
に接続されました。
SQL>
SQLファイル(awrrpt.sql)を実行する
「@?」と記載しているのは、$ORACLE_HOMEからのSQLファイルを検索するためです。cd $ORACLE_HOME とした後、@rdbms/admin/awrrpt.sql とするのと同じ事です。
@?/rdbms/admin/awrrpt.sql
SQL> @?/rdbms/admin/awrrpt.sql
Current Instance
~~~~~~~~~~~~~~~~
DB Id DB Name Inst Num Instance
----------- ------------ -------- ------------
598209400 ORAU8 1 orau8
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
AWR reports can be generated in the following formats. Please enter the
name of the format at the prompt. Default value is 'html'.
'html' HTML format (default)
'text' Text format
'active-html' Includes Performance Hub active report
report_typeに値を入力してください:
report_typeに値を入力してください: html
Type Specified: html
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
------------ -------- ------------ ------------ ------------
* 598209400 1 ORAU8 orau8 vm013
Using 598209400 for database Id
Using 1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.
num_daysに値を入力してください: 1
num_daysに値を入力してください: 1
Listing the last day's Completed Snapshots
Snap
Instance DB Name Snap Id Snap Started Level
------------ ------------ --------- ------------------ -----
orau8 ORAU8 404 23 1月 2021 00:00 1
405 23 1月 2021 01:00 1
406 23 1月 2021 02:00 1
407 23 1月 2021 03:00 1
408 23 1月 2021 04:00 1
409 23 1月 2021 05:00 1
410 23 1月 2021 06:00 1
411 23 1月 2021 07:00 1
412 23 1月 2021 08:00 1
413 23 1月 2021 09:00 1
414 23 1月 2021 10:00 1
415 23 1月 2021 11:00 1
416 23 1月 2021 12:00 1
417 23 1月 2021 13:00 1
418 23 1月 2021 14:00 1
419 23 1月 2021 15:00 1
420 23 1月 2021 16:00 1
421 23 1月 2021 17:00 1
422 23 1月 2021 18:00 1
423 23 1月 2021 19:00 1
424 23 1月 2021 20:00 1
425 23 1月 2021 21:00 1
426 23 1月 2021 22:00 1
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
begin_snapに値を入力してください:
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
begin_snapに値を入力してください: 425
Begin Snapshot Id specified: 425
end_snapに値を入力してください: 426
End Snapshot Id specified: 426
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_425_426.html. To use this name,
press <return> to continue, otherwise enter an alternative.
report_nameに値を入力してください:
/usr/oracle/app/product/12.1.0/dbhome_1/awrrpt_1_425_426.html