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レポートの出力について記載します。