マルチテナント環境内の自動ワークロード・リポジトリの管理

集中化された自動ワークロード・リポジトリ(AWR)に、マルチテナント環境内のCDBおよびPDBに関連するパフォーマンス・データが格納されます。

CDBおよび個々のPDBでは、AWRデータを格納、表示および管理できます。CDBレベルまたはPDBレベルでAWRのスナップショットを取得できます。

ノート:

マルチテナント・コンテナ・データベースが、Oracle Database 21c以降のリリースで唯一サポートされているアーキテクチャです。ドキュメントの改訂中は、従来の用語が残っている可能性があります。ほとんどの場合、「データベース」と「非CDB」は、コンテキストに応じて、CDBまたはPDBを意味します。アップグレードなど、一部のコンテキストでは、「非CDB」は以前のリリースの非CDBを意味します。

この項では、次の項目について説明します。

マルチテナント環境でのAWRデータのカテゴリ化

マルチテナント環境では、AWRデータが様々なカテゴリに分類されます。

カテゴリは次のとおりです。

  • 一般AWRデータ

    このデータはセキュリティには関係がありません。CDB内のすべてのテナントで安全に共有できます。このデータは、すべてのPDBからアクセスでき、CDBとPDBの両方のレベルのスナップショットで取得されます。一般的なAWRデータの例としては、統計、ラッチおよびパラメータの名前などがあります。

  • CDBのAWRデータ

    このカテゴリには、CDB内のすべてのテナントのデータが集計されます。このデータにはデータベース全体のステータスが含まれており、CDB管理者にのみ有益です。このデータはCDBレベルのスナップショットでのみ取得されます。

  • 個々のPDBのAWRデータ

    このデータはCDB内の個々のPDBを記述しています。データベース全体のインスタンスに対する個々のPDBの貢献度を表すコンテナ固有データが表示されます。そのため、このデータはCDBとPDB両方の管理者に役立ちます。このデータは、CDBとPDBの両方のレベルのスナップショットで取得されます。

マルチテナント環境でのAWRデータの格納および取得

この項では、マルチテナント環境でのAWRデータのエクスポートおよびインポートと、スナップショットの管理プロセスについて説明します。

スナップショットの管理

Oracle Database 12cリリース2 (12.2)以降では、CDBレベル(CDBルート)とPDBレベル(個別PDB)でAWRスナップショットを取得できます。デフォルトでは、CDBレベルのスナップショット・データはCDBルートのSYSAUX表領域に格納され、PDBレベルのスナップショット・データはPDBのSYSAUX表領域に格納されます。

CDBレベルのスナップショットには、ASH、SQL統計およびファイル統計などのPDB統計とCDB統計に関する情報が含まれます。CDB管理者は、AWRデータ保存期間の設定、スナップショット・スケジュールの設定、手動スナップショットの取得、CDBルートのスナップショット・データのパージなどの、CDB固有の管理操作を実行できます。

PDBレベルのスナップショットには、PDB統計と、PDBに関連するパフォーマンス上の問題を診断するために役立つ一部のグローバル統計も含まれます。PDB管理者は、AWRデータ保存期間の設定、スナップショット・スケジュールの設定、手動スナップショットの取得、PDBのスナップショット・データのパージなどの、PDB固有の管理操作を実行できます。

スナップショットの作成やスナップショットのパージなどの、CDBレベルおよびPDBレベルのスナップショット操作は、自動モードまたは手動モードのいずれでも実行できます。

自動スナップショット操作はスケジュールされ、特定の時間に自動的に実行されます。AWR_PDB_AUTOFLUSH_ENABLED初期化パラメータによって、CDB内のすべてのPDBまたはCDB内の個別のPDBに対して、自動スナップショットを有効化または無効化するように指定できます。

自動スナップショット操作は、デフォルトでCDBおよび(Oracle Database 23aiでは)PDBに対して有効化されます。PDBに対して自動スナップショットを有効化するには、PDB管理者が対象のPDBに接続し、AWR_PDB_AUTOFLUSH_ENABLEDパラメータの値をtrueに設定し、スナップショット生成間隔を0より大きい値に設定する必要があります。

関連項目:

AWR_PDB_AUTOFLUSH_ENABLED初期化パラメータの詳細は、Oracle Databaseリファレンスを参照してください

手動スナップショット操作はユーザーによって明示的に開始されます。自動スナップショットと手動スナップショットは同じAWR情報を取得します。PDBの場合、通常は手動スナップショットを使用することをお薦めします。PDBに対する自動スナップショットは、パフォーマンス上の理由で、選択的にのみ有効化することをお薦めします。

スナップショットを管理するためのプライマリ・インタフェースは、Oracle Enterprise Manager Cloud Control (Cloud Control)です。Cloud Controlが使用可能でない場合は、DBMS_WORKLOAD_REPOSITORYパッケージに含まれるプロシージャを使用してスナップショットを管理します。DBMS_WORKLOAD_REPOSITORYパッケージに含まれるプロシージャを使用するには、Oracle DBAロールが必要です。CDBルートおよびPDBのスナップショットを作成、削除および変更するSQLプロシージャは、非CDB用のそれらのプロシージャと同じです。これらのSQLプロシージャは、プロシージャ・コールでターゲット・データベースの情報が指定されない場合、デフォルトでローカル・データベース上でその操作を実行します。

ノート:

  • PDBレベルのスナップショットには一意のスナップショットIDがあり、CDBレベルのスナップショットに関連していません。

  • CDB内のPDBの接続および切断操作によって、PDBに格納されているAWRデータが影響を受けることはありません。

  • CDB管理者は、PDBに次のSQL文を実行することによって、PDBロックダウン・プロファイルを使用してPDBのAWR機能を無効化できます。

    SQL> alter lockdown profile profile_name disable feature=('AWR_ACCESS');

    PDBでAWR機能を無効化すると、そのPDBに対するスナップショット操作を実行できなくなります。

    次のSQL文をPDBで実行すると、そのPDBのAWR機能を再度有効化できます。

    SQL> alter lockdown profile profile_name enable feature=('AWR_ACCESS');
  • スナップショット・データは、デフォルトではCDBおよびPDBのSYSAUX表領域に格納されます。Oracle Database 19c以降では、スナップショット設定を変更することで、CDBおよびPDBのスナップショット・データを格納する他の表領域を指定できます。

ノート:

マルチテナント・コンテナ・データベースが、Oracle Database 21c以降のリリースで唯一サポートされているアーキテクチャです。ドキュメントの改訂中は、従来の用語が残っている可能性があります。ほとんどの場合、「データベース」と「非CDB」は、コンテキストに応じて、CDBまたはPDBを意味します。アップグレードなど、一部のコンテキストでは、「非CDB」は以前のリリースの非CDBを意味します。

関連項目:

AWRデータのエクスポートおよびインポート

マルチテナント環境のCDBルートおよびPDBのAWRデータをエクスポートおよびインポートするプロセスは、非CDBのAWRデータをエクスポートおよびインポートするプロセスに似ています。

関連項目:

マルチテナント環境のAWRデータの表示

Oracle Databaseの様々なレポートおよびビューを使用して、マルチテナント環境のAWRデータを表示できます。

AWRレポート

AWRレポートを生成するためのプライマリ・インタフェースは、Oracle Enterprise Manager Cloud Control (Cloud Control)です。可能な場合は、Cloud Controlを使用してAWRレポートを生成してください。

関連項目:

Cloud Controlを使用したAWRレポートの生成の詳細は、Oracle Database 2日でパフォーマンス・チューニング・ガイドを参照してください

Cloud Controlを使用できない場合は、次のようにSQLスクリプトを実行して、AWRレポートを生成します。これらのスクリプトを実行するには、DBAロールが必要です。

  • マルチテナント環境全体のグローバル・システム・データ統計を示す、CDB固有のAWRレポートをCDBルートから生成できます。ローカル・データベースのAWRレポートの生成の項で説明するSQLスクリプトを使用して、このAWRレポートを作成できます。

  • PDBに関連する統計を示す、PDB固有のAWRレポートをPDBから生成できます。ローカル・データベースのAWRレポートの生成の項で説明するSQLスクリプトを使用して、このAWRレポートを作成できます。

  • 特定のPDBに関連する統計を示す、PDB固有のAWRレポートをCDBルートから生成できます。特定データベースのAWRレポートの生成の項で説明するSQLスクリプトを使用して、このAWRレポートを作成できます。

AWRビュー

次の表に、マルチテナント環境のCDBルートおよび個別のPDBに格納されているAWRデータにアクセスするためのOracle Databaseのビューをリストします。

関連項目:

これらのAWRの詳細は、自動ワークロード・リポジトリ・ビューの使用を参照してください

表6-2 マルチテナント環境のAWRデータにアクセスするためのビュー

ビュー 説明

DBA_HISTビュー

  • DBA_HISTビューには、CDBルートにのみ存在するAWRデータが表示されます。

  • CDBルートからDBA_HISTビューにアクセスした場合は、CDBルートに格納されているすべてのAWRデータが表示されます。

  • PDBからDBA_HISTビューにアクセスした場合は、そのPDBに固有の、CDBルートのAWRデータのサブセットが表示されます。

DBA_HIST_CONビュー

  • DBA_HIST_CONビューはDBA_HISTビューに似ていますが、各コンテナに関するより詳細な情報が提供されるため、DBA_HISTビューより多くのデータが含まれています。

  • DBA_HIST_CONビューには、CDBルートにのみ存在するAWRデータが表示されます。

  • CDBルートからDBA_HIST_CONビューにアクセスした場合は、CDBルートに格納されているすべてのAWRデータが表示されます。

  • PDBからDBA_HIST_CONビューにアクセスした場合は、そのPDBに固有の、CDBルートのAWRデータのサブセットが表示されます。

AWR_ROOTビュー

  • AWR_ROOTビューは、Oracle Database 12cリリース2 (12.2)以降の、マルチテナント環境でのみ使用できます。

  • AWR_ROOTビューはDBA_HISTビューと同等です。

  • AWR_ROOTビューには、CDBルートにのみ存在するAWRデータが表示されます。

  • CDBルートからAWR_ROOTビューにアクセスした場合は、CDBルートに格納されているすべてのAWRデータが表示されます。

  • PDBからAWR_ROOTビューにアクセスした場合は、そのPDBに固有の、CDBルートのAWRデータのサブセットが表示されます。

AWR_PDBビュー

  • AWR_PDBビューは、Oracle Database 12cリリース2 (12.2)以降で使用できます。

  • AWR_PDBビューには、CDBルートまたはPDBに存在するローカルAWRデータが表示されます。

  • CDBルートからAWR_PDBビューにアクセスした場合は、CDBルートに格納されているAWRデータが表示されます。

  • PDBからAWR_PDBビューにアクセスした場合は、そのPDBに格納されているAWRデータが表示されます。

CDB_HISTビュー

  • CDB_HISTビューには、PDBに格納されているAWRデータが表示されます。

  • CDBルートからCDB_HISTビューにアクセスした場合は、すべてのPDBに格納されているAWRデータの和集合が表示されます。

  • PDBからCDB_HISTビューにアクセスした場合は、そのPDBに格納されているAWRデータが表示されます。