レック・テクノロジー・コンサルティング株式会社TECH BLOG

コンテナ・データベースの操作~PDBでのAWR設定~(2)

Oracle Database のマルチテナント構成について知っておくとよいであろう操作を数回に分けて紹介します。
今回は第2弾「マルチテナント環境におけるAWRレポートの出力」について紹介します。

※マルチテナント構成やコンテナ・データベース(CDB)ならびにプラガブル・データベース(PDB)その自体の概念やアーキテクチャの詳しい説明は割愛しています。

第1弾「マルチテナント環境におけるAWR設定」はこちらをクリック

マルチテナント環境におけるAWRレポートの出力

CDBでもPDBでもawrrpt.sqlスクリプトを使用します。CDB(ルート・コンテナ)で実行した場合は従来と変わりはありません。
PDBで実行する場合、スクリプトの実行方法に変わりはありません。ただしレポート出力の入力項目に「AWRデータの場所」の指定が加わっています。

awrrpt.sqlでの入力項目

項目 従来(非 CDB) CDB PDBの場合
レポート・タイプの指定
AWRデータの場所の指定 (なし) (なし)
レポート範囲の指定
レポート名の指定

PDBのAWRレポート出力

PDBでのAWRレポート出力方法自体はCDBの場合と同じです。awrrpt.sqlスクリプトを実行します。一点だけ違いがあり、レポートのもとになる情報をどこから得るか(どのビューを参照するか)を指示が要求されます。

Specify the location of AWR Data
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AWR_ROOT - Use AWR data from root (default)
AWR_PDB - Use AWR data from PDB
Enter value for awr_location:

AWRデータの場所の選択肢

設定 デフォルト 説明
AWR_ROOT AWR_ROOT_*ビューをもとにレポートを対象PDBのレポートを生成します。
もとになるスナップショットはCDB単位で取得したものが使われます。
AWR_PDB AWR_PDB_*ビューをもとにレポートを対象PDBのレポートを生成します。
PDB固有のスナップショットが使われます。
対象PDBに対する自動スナップショットが無効な場合は、レポート生成が失敗します。

実行例
AWRレポートを生成するPDBに接続します。

SQL> alter session set container=pdb1;

Session altered.

awrrpt.sqlスクリプトを実行します。

SQL> @?/rdbms/admin/awrrpt.sql

レポート・タイプを指定します。

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

Enter value for report_type:
old 1: select 'Type Specified: ',lower(nvl('&&report_type','html')) report_type from dual
new 1: select 'Type Specified: ',lower(nvl('','html')) report_type from dual

Type Specified: html

AWRデータの場所を指定します。PDBでのAWRレポート生成の独自項目で「AWR_ROOT (デフォルト)」または「AWT_PDB」のいずれかを指定します。
例では「AWR_PDB」を指定しています。

Specify the location of AWR Data
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AWR_ROOT - Use AWR data from root (default)
AWR_PDB - Use AWR data from PDB
Enter value for awr_location: AWR_PDB

Location of AWR Data Specified: AWR_PDB

インスタンス情報が表示されます。とくに選択項目はありません。

Current Instance
~~~~~~~~~~~~~~~~
DB Id     DB Name   Inst Num   Instance  Container Name
ーーーーーー ーーーーーー ーーーーーー ーーーーーー ーーーーーーーー
373211116   ORCL      1     ORCL1    PDB1
Root DB Id   Container DB Id   AWR DB Id
ーーーーーー  ーーーーーーーー  ーーーーーーー
1704969206   373211116     373211116
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id     Inst Num   DB Name   Instance   Host
ーーーーーー  ーーーーーー ーーーーーー ーーーーーー ーーーーーー
373211116   1      ORCL     ORCL1    rac19c11
373211116   2      ORCL     ORCL2    rac19c12
Using 373211116 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.

Enter value for num_days:

開始SNAP_ID(begin_snap)と終了SNAP_ID(end_snap)を指定します。

Listing all Completed Snapshots
Instance   DB Name   Snap Id    Snap Started     Snap Level
ーーーーーー ーーーーーー ーーーーーー ーーーーーーーーー  ーーーーーー
ORCL1    ORCL      1      12 Oct 2024 15:19   1
               2      12 Oct 2024 15:30   1
               3      12 Oct 2024 15:45   1
               4      12 Oct 2024 16:00   1
               5      12 Oct 2024 16:15   1
               6      12 Oct 2024 16:30   1
               7      12 Oct 2024 16:45   1
               8      12 Oct 2024 17:00   1
               9      12 Oct 2024 17:15   1
               10      12 Oct 2024 17:30   1
               11      12 Oct 2024 17:45   1
               12      12 Oct 2024 18:00   1

Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 10
Begin Snapshot Id specified: 10

Enter value for end_snap: 12
End Snapshot Id specified: 12

出力ファイル名を指定します。この項目を入力してEnterキーを押下するとレポート生成が始まります。
例ではデフォルト名を使用せず「awrrpt_AWR_PRB_1_1_10_12.html」というファイル名を指定しています。

Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_10_12.html. To use this name,
press <return> to continue, otherwise enter an alternative.

Enter value for report_name: awrrpt_AWR_PDB_1_1_10_12.html

Using the report name awrrpt_AWR_PDB_1_1_10_12.html

レポート生成が完了すると次のように表示されます。

End of Report
</body></html>

Report written to awrrpt_AWR_PDB_1_1_10_12.html
SQL>

レポートはカレント・ディレクトリに出力されます。

SQL> !ls -l `pwd`/awrrpt_AWR_PRB_1_1_10_12.html
-rw-r--r-- 1 oracle oinstall 332820 Oct 12 18:08 /lab/oracle/bin/awrrpt_AWR_PDB_1_1_10_12.html

PDBのAWRレポート内容

出力AWRレポートの内容自体には非CDBまたはコンテナ全体のレポートの場合と変わりありません。レポート生成時にAWRデータの場所を「AWR_ROOT」と「AWR_PDB」のどちらを選んだかによってインスタンスの動きを示す値に違いが表れます。PDBの稼働状況を調査するためには、どちらが良いかと言えば「AWR_PDB」を使うべきでしょう。

以下に、一部のセクションについて、それぞれのレポートの比較を示します。

・タイトルとレポートヘッダー部
タイトルに「PDB snapshot」の表示があり「AWR_PDB」で生成したものであることが示されています。「AWR_ROOT」を選択した場合は次のように「root snapshot」という表示です。
インスタンスやレポートの情報をが示される部分には、「AWR_PDB」の場合、その独自のスナップショットのIDと、開始、終了の時刻が示されます。

PDB snapshots
TryCDB_PDBでのAWR設定1.jpg
TryCDB_PDBでのAWR設定2.jpg

Root snapshots
TryCDB_PDBでのAWR設定3.jpg
TryCDB_PDBでのAWR設定4.jpg
TryCDB_PDBでのAWR設定4.jpg

Report Summary
インスタンスの全体的な稼働状態を確認できる「Load Profile」では、
「DB Time(s)」「DB CPU(s)」といった統計値に差が表れます。

PDB snapshots
TryCDB_PDBでのAWR設定5.jpg

root snapshots
TryCDB_PDBでのAWR設定6.jpg

・Top 10 Foreground Event by Total Wait Time
上位の待機イベントではDB CPUが差が表れています。

PDB snapshots
TryCDB_PDBでのAWR設定7.png

Root snapshots
TryCDB_PDBでのAWR設定8.png

・SQL ordered by xxxxx
「SQL ordered by xxxxx」でリストされるSQL文の数が変わります。「AWR_PDB」で生成したレポートのSQLの数が63であるのに対して、「AWR_ROOT」の同じセクションのSQLは16です。
スナップショットに記録されたSQLの母数が、他のPDBも含むCDB全体か、レポートの生成対象としたPDBのものかによる違いと考えられます。

PDB snapshots
TryCDB_PDBでのAWR設定9.jpg

root snapshots
TryCDB_PDBでのAWR設定10.jpg

この記事をシェアする

  • Facebook
  • X
  • Pocket
  • Line
  • Hatena
  • Linkedin

資料請求・お問い合わせはこちら

ページトップへ戻る