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

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

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

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

検証環境

Oracle Databaseは以下の構成です。

●ソフトウェア構成
・Oracle Database 19c (19.11) Enterprise Edition
・Oracle Grid Infrastructure 19c (19.11)
・Linux

●データベース構成
・CDB:ORCL
・PDB:PDB1,PDB2

マルチテナント環境におけるAWR設定

マルチテナント構成では、AWRはCDB全体でのスナップショット取得やレポートを生成だけでなく、PDB単位でも実行することができます。
ここでは以下の内容について紹介します。

・PDBでのAWR設定の有効化
・PDBでのAWR設定の変更

PDBでのAWR設定の有効化

PDBでのAWRレポート生成は初期化パラメータawr_pdb_autoflush_enabledをTRUE設定にすることで利用できるようになります。デフォルト設定はFALSEです。

初期化パラメータ awr_pdb_autoflush_enabled

SQL> show parameter awr_pdb_autoflush_enabled
NAME             TYPE     VALUE
ーーーーーーーーーーーーー   ーーーー   ーーーー
awr_pdb_autoflush_enabled   boolean    FALSE

※ Oracle Database 19cの場合です。Oracle Database 23aiではデフォルト設定はTRUEになっています。

このパラメータはCDBまたはPDBのどちらでも設定できます。CDBでの設定は、その値がPDBのデフォルトとして扱われます。PDBで設定した値はCDBによる設定を上書きします。
手順概要
1.CDBに接続します。
2.初期化パラメータawr_pdb_autoflush_enabled をTRUEに変更します。

実行例:CDB全体でPDBのAWR設定を有効化します。

CDBに接続します。

SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT

設定を確認します。

SQL> show parameter awr_pdb_autoflush_enabled
NAME             TYPE     VALUE
ーーーーーーーーーーーーー   ーーーー   ーーーー
awr_pdb_autoflush_enabled   boolean    FALSE

設定を変更します。

SQL> alter system set awr_pdb_autoflush_enabled = TRUE;
System altered.
SQL> show parameter awr_pdb_autoflush_enabled
NAME              TYPE     VALUE
ーーーーーーーーーーーーー   ーーーー   ーーーー
awr_pdb_autoflush_enabled    boolean    TRUE

PDBに接続して設定を確認します。

SQL> alter session set container=PDB1;
Session altered.
SQL> show con_name
CON_NAME
------------------------------
PDB1
SQL> show parameter awr_pdb_autoflush_enabled
NAME             TYPE    VALUE
ーーーーーーーーーーーーー  ーーーーー  ーーーーー
awr_pdb_autoflush_enabled   boolean    TRUE

PDBレベルのAWR設定が有効化されました。

PDBでのAWR設定の変更

PDBでのAWR設定を有効化した後、必要に応じてPDBのスナップショットの取得間隔や保存期間を変更します。CDBレベルの設定はPDBには反映されないため、PDBごとに設定を変更します。

・スナップショットの取得間隔(デフォルト60分)
・スナップショットの保存期間(デフォルト8日)

手順概要
1.設定対象のPDBに接続します。
2.DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGSを使用して設定を変更します。
※設定確認はAWR_PDB_WR_CONTROLに問合せます。

実行例
PDB1に対してAWR設定を変更します。適用する設定を下表に示します。

設定項目 設定値
取得間隔(分) 15(分)
保存期間(分) 21600(=15日)

設定対象のPDB(またはルート・コンテナ)に接続します。

SQL> alter session set container=PDB1;
Session altered.
SQL> show con_name
CON_NAME
------------------------------
PDB1

現在の設定を確認します。

SQL> SELECT SNAP_INTERVAL,RETENTION FROM AWR_PDB_WR_CONTROL;
SNAP_INTERVAL   RETENTION
--------------------  --------------------
+00000 00:60:00.0  +00008 00:00:00.0

設定を変更します。

SQL> EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS (interval=>15);
PL/SQL procedure successfully completed.
SQL> EXEC DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS (retention=>1440*15);
PL/SQL procedure successfully completed.

変更後の設定を確認します。

SQL> SELECT SNAP_INTERVAL,RETENTION FROM AWR_PDB_WR_CONTROL;
SNAP_INTERVAL   RETENTION
--------------------  --------------------
+00000 00:15:00.0  +00015 00:00:00.0

PDBでのAWRの動作設定が変更されました。

各コンテナのスナップショットの確認

自動スナップショットの取得例を以下に示します。同じタイミングのスナップショットでも、CDB$ROOTと各PDBとでスナップショットID(SNAP_ID)が違うことを確認できます。

CDB$ROOTと各PDBのスナップショット(直近10件)

====== CDB ======
INSTANCE_NAME SYSDATE
---------------- -------------------
ORCL1 2024/10/20 14:06:44
CON_NAME
------------------------------
CDB$ROOT
SNAP_ID   BEGIN_INTERVAL_TIME   FLUSH_ELAPSED   SNAP_LEVEL
ーーーーー ーーーーーーーーーーー  ーーーーーーーー  ーーーーーー
445     2024/10/20 13:45:33  +00000 00:00:27.8  1
444     2024/10/20 13:30:25  +00000 00:00:09.1  1
443     2024/10/20 13:15:17  +00000 00:00:05.7  1
442     2024/10/20 13:00:05  +00000 00:00:04.9  1
441     2024/10/20 12:45:13  +00000 00:00:19.1  1
440     2024/10/20 12:30:05  +00000 00:00:07.7  1
439     2024/10/20 12:15:35  +00000 00:00:11.6  1
438     2024/10/20 12:00:28  +00000 00:00:08.6  1
437     2024/10/20 11:41:18  +00000 00:00:05.0  1
436     2024/10/20 11:34:02  +00000 00:00:23.1  1

====== PDB1 ======
INSTANCE_NAME SYSDATE
---------------- -------------------
ORCL1 2024/10/20 14:06:44
CON_NAME
------------------------------
PDB1
SNAP_ID   BEGIN_INTERVAL_TIME   FLUSH_ELAPSED   SNAP_LEVEL
ーーーーー ーーーーーーーーーーー  ーーーーーーーー  ーーーーーー
243     2024/10/20 13:45:33  +00000 00:00:32.0  1
242     2024/10/20 13:30:25  +00000 00:00:04.6  1
241     2024/10/20 13:15:17  +00000 00:00:03.6  1
240     2024/10/20 13:00:05  +00000 00:00:05.2  1
239     2024/10/20 12:45:13  +00000 00:00:23.7  1
238     2024/10/20 12:30:05  +00000 00:00:07.9  1
237     2024/10/20 12:15:35  +00000 00:00:08.8  1
236     2024/10/20 12:00:28  +00000 00:00:07.7  1
235     2024/10/20 11:42:19  +00000 00:00:07.2  1
234     2024/10/20 11:34:02  +00000 00:00:20.0  1

====== PDB2 ======
INSTANCE_NAME SYSDATE
---------------- -------------------
ORCL1 2024/10/20 14:06:45
CON_NAME
------------------------------
PDB2
SNAP_ID   BEGIN_INTERVAL_TIME   FLUSH_ELAPSED   SNAP_LEVEL
ーーーーー ーーーーーーーーーーー  ーーーーーーーー  ーーーーーー
131     2024/10/20 13:45:33  +00000 00:00:49.8  1
130     2024/10/20 13:31:35  +00000 00:00:09.3  1
129     2024/10/20 11:34:02  +00000 00:00:16.8  1
128     2024/10/20 00:15:35  +00000 00:01:27.7  1
127     2024/10/20 00:00:09  +00000 00:00:36.1  1
126     2024/10/19 23:45:28  +00000 00:00:16.1  1
125     2024/10/19 23:28:15  +00000 00:00:28.2  1
124     2024/10/19 23:13:13  +00000 00:03:34.2  1
123     2024/10/19 22:15:27  +00000 00:00:07.5  1
122     2024/10/19 22:07:23  +00000 00:00:09.1  1

次回は、マルチテナント環境におけるAWRレポートの出力について記載します。

この記事をシェアする

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

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

WEB説明会実施中!

各技術領域ごとの業務内容や取り組んでいる最新技術についてお話します。
カメラ・マイクオフでの参加OK!
気軽にご参加ください。

お申込みはこちら

Re:Qチャンネル

Re:Qの技術領域や、これまで培ってきた経験を元にIT技術についての解説動画などを投稿しています。
是非ご覧ください!

公式Youtubeはこちら

ページトップへ戻る