LoginSignup
0
0

PDB 単位の AWR レポートを出力する(Oracle Database 23c)

Last updated at Posted at 2024-01-19

AWR レポート

AWR レポートは Oracle Database Enterprise Edition の機能で、特定の期間のパフォーマンス情報を出力します。AWR レポートは保存されたスナップショットから差分を作成し、レポートとして出力します。スナップショットの情報は主に DBA_HIST_* ビューに格納されています。
 CDB で DBA_HIST_SNAPSHOT ビューを検索すると、CDB を示す単一の DBID が格納されています。

CDB から DBA_HIST_SNAPSHOT ビューに格納された DBID を検索
SQL> SELECT DISTINCT dbid FROM dba_hist_snapshot;

      DBID
----------
1421343865

DBA_HIST_SNAPSHOT ビューは実体として WRM$_SNAPSHOT テーブルを検索していることがわかります。

CDB から DBA_HIST_SNAPSHOT ビュー検索の実行計画を確認
SQL> SET AUTOTRACE ON
SQL> SELECT COUNT(*) FROM dba_hist_snapshot;

  COUNT(*)
----------
        21

実行計画
----------------------------------------------------------
Plan hash value: 2615486218

------------------------------------------------------------------------------------------------------
| Id  | Operation            | Name          | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT     |               |     1 |     2 |     4   (0)| 00:00:01 |       |      |
|   1 |  SORT AGGREGATE      |               |     1 |     2 |            |     |       |       |
|   2 |   PARTITION RANGE ALL|               |    19 |    38 |     4   (0)| 00:00:01 |     1 |     9 |
|*  3 |    TABLE ACCESS FULL | WRM$_SNAPSHOT |    19 |    38 |     4   (0)| 00:00:01 |     1 |     9 |
------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------
   3 - filter("STATUS"=0)

統計
----------------------------------------------------------
         72  recursive calls
          0  db block gets
        138  consistent gets
          5  physical reads
          0  redo size
        579  bytes sent via SQL*Net to client
        108  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          5  sorts (memory)
          0  sorts (disk)
          1  rows processed

PDB 単位の AWR スナップショット

PDB 単位の AWR レポートを作成する場合は、PDB の初期化パラメーター AWR_PDB_AUTOFLUSH_ENABLED を TRUE に設定します。この初期化パラメーターのデフォルト値は Oracle Database 21c までは False でしたが、Oracle Database 23c では True になっています。

SQL> ALTER SESSION SET CONTAINER=FREEPDB1;

セッションが変更されました。

SQL> SHOW PARAMETER AWR_PDB_AUTOFLUSH_ENABLED

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
awr_pdb_autoflush_enabled            boolean     TRUE

参考1: Oracle Database 21c のデフォルト値
参考2: Oracle Database 23c のデフォルト値

DBA_HIST_SNAPSHOTビューを検索すると、CDBのデータベースIDとPDBのデータベースID両方の情報が格納されていることがわかります。

 PDB から DBA_HIST_SNAPSHOT ビューに格納された DBID を検索
SQL> SHOW CON_NAME

CON_NAME
------------------------------
CDB$ROOT
SQL> SELECT DBID FROM V$DATABASE;

      DBID
----------
1421343865

SQL> ALTER SESSION SET CONTAINER=FREEPDB1;

セッションが変更されました。

SQL> SELECT DBID FROM V$DATABASE;

      DBID
----------
1421343865

SQL> SELECT DISTINCT DBID FROM DBA_HIST_SNAPSHOT;

      DBID
----------
1421343865
 685453293

DBA_HIST_SNAPSHOTビューの実行計画を確認すると、

PDB から DBA_HIST_SNAPSHOT ビュー検索の実行計画を確認
SQL> SET AUTOTRACE ON
SQL> SELECT COUNT(*) FROM DBA_HIST_SNAPSHOT;

  COUNT(*)
----------
        35

実行計画
----------------------------------------------------------
Plan hash value: 3430984285

--------------------------------------------------------------------------------------------------------------
| Id  | Operation                 | Name             | Rows  | Bytes | Cost (%CPU)| Time     | Pstart| Pstop |
--------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT          |                  |     1 |    13 |     0   (0)| 00:00:01 |       |       |
|   1 |  SORT AGGREGATE           |                  |     1 |    13 |  |          |       |       |
|   2 |   PARTITION LIST ALL      |                  |  1190 | 15470 |     0   (0)| 00:00:01 |     1 |     2 |
|*  3 |    EXTENDED DATA LINK FULL| AWR_CDB_SNAPSHOT |  1190 | 15470 |     0   (0)| 00:00:01 |       |       |
--------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------
   3 - access("CON_ID" IS NULL OR "CON_ID"=0 OR "CON_ID"=3)
       filter("CON_ID" IS NULL OR "CON_ID"=0 OR "CON_ID"=3)

統計
----------------------------------------------------------
         26  recursive calls
          0  db block gets
         33  consistent gets
          0  physical reads
          0  redo size
        603  bytes sent via SQL*Net to client
        108  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

AWR_CDB_SNAPSHOT ビューに対する実行計画 EXTENDED DATA LINK FULL を確認することができます。PDB の AWR_CDB_SNAPSHOT ビューでは PDB 内の SYSAUX 表領域と、CDB のスナップショットの両方を参照することができます。このため PDB 内から awarpt.sql スクリプトを実行すると、レポートを作成するスナップショットに CDB / PDB どちらを使うかを指定する必要があります。「awr_location に値を入力してください:」という質問に対して以下の値を指定します。

入力値 説明 備考
AWR_PDB PDB の AWR レポートを出力する デフォルト
AWR_ROOT CDB の AWR レポートを出力する
awrrpt.sql スクリプト実行例
SQL> ALTER SESSION SET CONTAINER=FREEPDB1;

セッションが変更されました。

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

report_typeに値を入力してください: text

Type Specified:  text



Specify the location of AWR Data
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AWR PDB reports can be generated using data stored in this PDB or ROOT.
Please enter the desired location at the prompt. Default value is 'AWR_PDB'.

    AWR_PDB  - Use AWR data from PDB
    AWR_ROOT - Use AWR data from ROOT
awr_locationに値を入力してください: AWR_PDB

Current Instance
~~~~~~~~~~~~~~~~
DB Id          DB Name        Inst Num       Instance       Container Name
-------------- -------------- -------------- -------------- --------------
  685453293     FREE                        1 FREE           FREEPDB1
<<>>

Author: Noriyoshi Shinoda / Date: January 19, 2024

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0