自動ワークロードリポジトリ (AWR) を使用したパフォーマンスレポートの生成
パフォーマンスデータを収集してレポートを生成するにあたって、Oracle では自動ワークロードリポジトリ (AWR) を推奨しています。AWR には、Oracle Database Enterprise Edition と診断パックおよびチューニングパックのライセンスが必要です。AWR を有効にするには、初期化パラメータ CONTROL_MANAGEMENT_PACK_ACCESS
に、DIAGNOSTIC
または DIAGNOSTIC+TUNING
を設定します。
RDS での AWR レポートの使用
AWR レポートを生成するには、awrrpt.sql
などのスクリプトを実行します。これらのスクリプトは、データベースホストサーバーにインストールされます。Amazon RDS では、ホストに直接アクセスすることはできません。ただし、Oracle Database の別のインストールから SQL スクリプトのコピーを取得することは可能です。
また、SYS.DBMS_WORKLOAD_REPOSITORY
PL/SQL パッケージでプロシージャを実行して AWR を使用することもできます。このパッケージを使用して、ベースラインとスナップショットを管理したり、ASH および AWR レポートを表示したりできます。例えば、テキスト形式で AWR レポートを生成するには、DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT
プロシージャを実行します。ただし、これらの AWR レポートには、AWS Management Console からはアクセスできません。
AWR を使用する場合は、rdsadmin.rdsadmin_diagnostic_util
プロシージャを使用することをお勧めします。これらのプロシージャを使用すると、次の項目を生成できます。
-
AWR レポート
-
アクティブセッション履歴 (ASH) レポート
-
自動データベース診断モニター (ADDM) レポート
-
AWR データの Oracle Data Pump Export ダンプファイル
rdsadmin_diagnostic_util
プロシージャは、レポートを DB インスタンスファイルシステムに保存します。これらのレポートには、コンソールからアクセスできます。rdsadmin.rds_file_util
プロシージャを使用してレポートにアクセスしたり、S3 統合オプションを使用して Amazon S3 にコピーされたレポートにアクセスすることもできます。詳細については、「DB インスタンスディレクトリ内のファイルの読み取り」および「「Amazon S3 統合」」を参照してください。
以下の Amazon RDS for Oracle DB エンジンバージョンの rdsadmin_diagnostic_util
手順を使用できます。
-
すべての Oracle Database 21c バージョン
-
19.0.0.0.ru-2020-04.rur-2020-04.r1 以上の Oracle Database 19c バージョン
レプリケーションシナリオで診断レポートを使用する方法を説明しているブログについては、「Amazon RDS for Oracle リードレプリカの AWR レポートを生成する
Diagnostic Utility Package の一般的なパラメータ
rdsadmin_diagnostic_util
パッケージを使用して AWR および ADDM を管理する場合は、通常、次のパラメータを使用します。
パラメータ | データ型 | デフォルト | 必須 | 説明 |
---|---|---|---|---|
|
|
— |
はい |
スタートスナップショットの ID。 |
|
|
— |
はい |
終了スナップショットの ID。 |
|
|
|
いいえ |
レポートまたはエクスポートファイルの書き込み先のディレクトリ。デフォルト以外のディレクトリを指定する場合、 |
|
|
— |
不可 |
バックアップの用途や使用方法を示すためにバックアップを区別する目的で使用できる 最大 30 文字を指定できます。有効な文字は、 タグは一意である必要はないので、複数のバックアップに同じタグを付けることができます。タグを指定しない場合、RMAN は、
|
|
|
|
不可 |
レポートの形式。有効な値は、 |
|
|
— |
いいえ |
Oracle の |
rdsadmin_diagnostic_util パッケージで ASH を管理する場合は、通常、次のパラメータを使用します。
Parameter | データ型 | デフォルト | 必須 | 説明 |
---|---|---|---|---|
|
|
— |
はい |
ASH 分析のスタート時刻。 |
|
|
— |
はい |
ASH 分析の終了時刻。 |
|
|
|
いいえ |
ASH レポートの「Top Activity」セクションで使用されるスロットの期間 (秒単位)。このパラメータを指定しない場合、 |
|
|
Null |
いいえ |
セッション ID。 |
|
|
Null |
いいえ |
SQL ID。 |
|
|
Null |
いいえ |
待機クラス名。 |
|
|
Null |
いいえ |
サービス名のハッシュ。 |
|
|
Null |
いいえ |
モジュール名。 |
|
|
Null |
いいえ |
アクション名。 |
|
|
Null |
いいえ |
データベースセッションのアプリケーション固有の ID。 |
|
|
Null |
いいえ |
PL/SQL エントリポイント。 |
AWR レポートの生成
AWR レポートを生成するには、rdsadmin.rdsadmin_diagnostic_util.awr_report
の手順を使用します。
次の例は、スナップショット範囲 101~106 の AWR レポートを生成します。出力テキストファイルには awrrpt_101_106.txt
という名前が付けられます。このレポートには、AWS Management Console からアクセスできます。
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(101,106,'TEXT');
次の例は、スナップショット範囲 63~65 の HTML レポートを生成します。出力 HTML ファイルには awrrpt_63_65.html
という名前が付けられます。プロシージャによって、レポートが AWR_RPT_DUMP
という名前のデフォルト以外のデータベースディレクトリに書き込まれます。
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_report(63,65,'HTML','AWR_RPT_DUMP');
ダンプファイルへの AWR データの抽出
AWR データをダンプファイルに抽出するには、rdsadmin.rdsadmin_diagnostic_util.awr_extract
プロシージャを使用します。
次の例は、スナップショット範囲 101~106 を抽出します。出力ダンプファイルには awrextract_101_106.dmp
という名前が付けられます。このファイルには、コンソールからアクセスできます。
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(101,106);
次の例は、スナップショット範囲 63~65 を抽出します。出力ダンプファイルには awrextract_63_65.dmp
という名前が付けられます。ファイルは、AWR_RPT_DUMP
という名前のデフォルト以外のデータベースディレクトリに保存されます。
EXEC rdsadmin.rdsadmin_diagnostic_util.awr_extract(63,65,'AWR_RPT_DUMP');
ADDM レポートの生成
ADDM レポートを生成するには、rdsadmin.rdsadmin_diagnostic_util.addm_report
プロシージャを使用します。
次の例は、スナップショット範囲 101~106 の ADDM レポートを生成します。出力テキストファイルには addmrpt_101_106.txt
という名前が付けられます。レポートには、コンソールからアクセスできます。
EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(101,106);
次の例は、スナップショット範囲 63~65 の ADDM レポートを生成します。出力テキストファイルには addmrpt_63_65.txt
という名前が付けられます。ファイルは、ADDM_RPT_DUMP
という名前のデフォルト以外のデータベースディレクトリに保存されます。
EXEC rdsadmin.rdsadmin_diagnostic_util.addm_report(63,65,'ADDM_RPT_DUMP');
ASH レポートの生成
ASH レポートを生成するには、rdsadmin.rdsadmin_diagnostic_util.ash_report
プロシージャを使用します。
次の例では、14 分前から現在の時刻までのデータを含む ASH レポートを生成します。出力ファイルの名前は ashrpt
の形式を使用し、begin_time
end_time
.txt
および begin_time
は end_time
YYYYMMDDHH24MISS
の形式を使用します。ファイルには、コンソールからアクセスできます。
BEGIN rdsadmin.rdsadmin_diagnostic_util.ash_report( begin_time => SYSDATE-14/1440, end_time => SYSDATE, report_type => 'TEXT'); END; /
次の例では、2019 年 11 月 18 日の午後 6:07 から 2019 年 11 月 18 日の午後 6:15 までのデータを含む ASH レポートを生成します。出力 HTML レポートの名前は ashrpt_20190918180700_20190918181500.html
です。レポートは、AWR_RPT_DUMP
という名前のデフォルト以外のデータベースディレクトリに保存されます。
BEGIN rdsadmin.rdsadmin_diagnostic_util.ash_report( begin_time => TO_DATE('2019-09-18 18:07:00', 'YYYY-MM-DD HH24:MI:SS'), end_time => TO_DATE('2019-09-18 18:15:00', 'YYYY-MM-DD HH24:MI:SS'), report_type => 'html', dump_directory => 'AWR_RPT_DUMP'); END; /
コンソールまたは CLI からの AWR レポートへのアクセス
AWR レポートにアクセスしたり、ダンプファイルをエクスポートしたりするには、AWS Management Console または AWS CLI を使用します。詳細については、「データベースログファイルのダウンロード」を参照してください。