自動ワークロードリポジトリ (AWR) を使用したパフォーマンスレポートの生成 - Amazon Relational Database Service

自動ワークロードリポジトリ (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 を管理する場合は、通常、次のパラメータを使用します。

パラメータ データ型 デフォルト 必須 説明

begin_snap_id

NUMBER

はい

スタートスナップショットの ID。

end_snap_id

NUMBER

はい

終了スナップショットの ID。

dump_directory

VARCHAR2

BDUMP

いいえ

レポートまたはエクスポートファイルの書き込み先のディレクトリ。デフォルト以外のディレクトリを指定する場合、 rdsadmin_diagnostic_util プロシージャを実行するユーザーは、そのディレクトリに対する書き込み権限を持っている必要があります。

p_tag

VARCHAR2

不可

バックアップの用途や使用方法を示すためにバックアップを区別する目的で使用できる incrementaldaily などの文字列。

最大 30 文字を指定できます。有効な文字は、a-zA-Z0-9、アンダースコア (_)、ダッシュ (-)、およびピリオド (.) です。タグでは、大文字と小文字は区別されません。RMAN では、タグを入力する際に使用されるのが大文字か小文字かに関係なく、常に大文字でタグが格納されます。

タグは一意である必要はないので、複数のバックアップに同じタグを付けることができます。タグを指定しない場合、RMAN は、TAGYYYYMMDDTHHMMSS の形式を使用してデフォルトのタグを自動的に割り当てます。ここで YYYY は年、MM は月、DD は日、HH は時間 (24 時間形式)、MM は分、SS は秒です。日付と時刻は、RMAN がバックアップを開始した日時を示します。例えば、デフォルトタグ TAG20190927T214517 を持つバックアップは、2019-09-27 の 21:45:17 に開始されたバックアップであることを示します。

p_tag パラメータは、以下の RDS for Oracle DB エンジンバージョンでサポートされています。

  • Oracle Database 21c (21.0.0)

  • 19.0.0.0.ru-2021-10.rur-2021-10.r1 以降を使用する、Oracle Database 19c (19.0.0)

report_type

VARCHAR2

HTML

不可

レポートの形式。有効な値は、TEXT および HTML です。

dbid

NUMBER

いいえ

Oracle の DBA_HIST_DATABASE_INSTANCE ビューに表示される有効なデータベース識別子 (DBID)。このパラメータを指定しない場合、RDS は V$DATABASE.DBID ビューに表示される現在の DBID を使用します。

rdsadmin_diagnostic_util パッケージで ASH を管理する場合は、通常、次のパラメータを使用します。

Parameter データ型 デフォルト 必須 説明

begin_time

DATE

はい

ASH 分析のスタート時刻。

end_time

DATE

はい

ASH 分析の終了時刻。

slot_width

NUMBER

0

いいえ

ASH レポートの「Top Activity」セクションで使用されるスロットの期間 (秒単位)。このパラメータを指定しない場合、begin_timeend_time と間の時間間隔は 10 以下のスロットを使用します。

sid

NUMBER

Null

いいえ

セッション ID。

sql_id

VARCHAR2

Null

いいえ

SQL ID。

wait_class

VARCHAR2

Null

いいえ

待機クラス名。

service_hash

NUMBER

Null

いいえ

サービス名のハッシュ。

module_name

VARCHAR2

Null

いいえ

モジュール名。

action_name

VARCHAR2

Null

いいえ

アクション名。

client_id

VARCHAR2

Null

いいえ

データベースセッションのアプリケーション固有の ID。

plsql_entry

VARCHAR2

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 レポートを生成します。出力ファイルの名前は ashrptbegin_timeend_time.txt の形式を使用し、begin_time および end_timeYYYYMMDDHH24MISS の形式を使用します。ファイルには、コンソールからアクセスできます。

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 を使用します。詳細については、「データベースログファイルのダウンロード」を参照してください。