CDBおよびPDBの管理

この記事では、CDBとPDBの管理方法についてまとめて解説します。

CDBとPDBへの接続

CDBとPDBの接続について解説します。

コンテナへの接続

非CDBにおいてデータベースを使用するには、まずデータベースに接続します。

CDBルートには、非CDBと同様にローカル接続およびリモート接続が可能ですが、PDBにはリモート接続のみ可能な点に注意が必要です。

CDBルートへの接続

CDBの管理を実行するには、CDBルートに接続します。CDBルートへの接続方式には、ローカル接続とリモート接続を使用できます。

CDBルートにローカル接続およびリモート接続する方法は、非CDBと同様です。環境変数ORACLR_SIDにインスタンスのSIDを設定するとローカル接続が可能になります。

CDBを起動すると、CDBのデータベース名と同名のデータベースサービスがリスナーに動的サービス登録されるため、そのデータベースサービス名に対応する接続識別子を指定するとリモート接続が可能です。

CDBルートに接続することをCDBに接続すると呼ぶこともあります。

PDBへの接続

PDBに格納したデータの管理およびPDBの管理を実行する場合は、PDBに接続します。PDBへの接続方式には、リモート接続を使用できます。

PDBをオープンするとPDBメイト同名のデータベースサービスがリスナーに動的サービス登録されるため、そのデータベースサービス名に対応する接続識別子を指定するとリモート接続が可能です。

CDBとPDBの起動と停止

CDBとPDBの起動と停止について解説します。

CDBの起動

CDBを起動するには、SYSDBA権限をもつユーザーでCDBルートに接続してSTARTUPコマンドを実行します。従来のデータベースと同様の操作です。

デフォルトの設定では、CDBを起動してもCDB内の各PDBはクローズされたままであることに留意が必要です。

PDBのオープン

PDBを使用するには、PDBをオープンする必要があります。PDBをオープンにするには、「ALTER PLUGGABLE DATABASE OPEN文またはSQL*PlusのSTARTUPコマンドを実行します。

CDBとPDBのその他の管理

CDBとPDBのその他の管理要素について解説します。

初期化パラメータの管理

CDBでは従来と同様に初期化パラメータはSPFILEに格納されます。

SPFILEに格納されたパラメータの設定値はCDBに対して適用されます(継承モデル)。

なお、一部の初期化パラメータは、PDBで個別に設定してCDBの設定を上書きすることができます。言い換えると、一部の初期化パラメータは、CDBと個別のPDBで異なる設定ができます。

CDBおよびPDBのパフォーマンス

CDBとPDBのパフォーマンス管理について解説します。

AWRとADDM

パフォーマンス分析には、AWRおよびADDMが有効です。

CDBレベルとPDBレベルのAWR処理

CDBでは、CDBレベルとPDBレベルで、AWRのスナップショットの収集およびAWRのレポートの生成が可能です。

接続先コンテナでレベルと対象コンテナが決まります。

CDBレベルとPDBレベルのADDM分析

CDBでは、CDBレベルとPDBレベルでADDMの分析が可能になっています。PDBレベルのADDM分析はOracle 19cから可能になっています。

マルチテナント環境でのリソースマネージャ

Oracleリソースマネージャは、CPU、I/O量、プロセス数などといった、処理を実行するための「資源(リソース)」を分配する仕組みです。リソースマネージャを活用することで、リソースの割り当てを適切に行う制御が可能になります。

マルチテナント環境でのリソースマネージャの構成

非CDB環境のリソースマネージャは以下の3つの要素から構成されます。

構成要素説明
リソースプラン一連のリソースディレクティブの設定セット
データベースに、あるリソースプランを設定すると、そのリソースプランに含まれるリソースディレクティブに対応するリソース制御が有効になる
リソースディレクティブリソース種別やリソース制御の内容ごとに多数存在する具体的なリソース制御を支持する要素。
単に「ディレクティブ」とも呼ばれることがある。
リソースコンシューマグループリソース配分における対象となるユーザーまたはセッションを含める論理的なグループ。単に「コンシューマグループ」と呼ばれることもある。

CDBリソースプランで使用できるリソースディレクティブ

CDBリソースプランで使用できるディレクティブは以下の3つのみです。

  • shares(共有)

sharesディレクティブは、CPUリソースとパラレル実行サーバーの分配を相対的な数値で指定します。

  • utilization limit (CPUリソース制限)

utilization_limitディレクティブは、PDBで使用できるCPU使用率の上限です。この値の範囲は0から100までで、PDBのCPU使用率がutilization_limitに設定した値を超えないように制御されます。

  • parallel_server_limit(パラレル実行サーバー制御)

parallel_server_limitはPDBが使用できるパラレル実行サーバーの割合の上限です。値の範囲は0から100までです。PDBに割り当てられたパラレル実行サーバーの割合がparallel_server_limitの設定値を超えた場合、発行したパラレル問い合わせは待機させられます。

CDBリソースプランによるPDBへのリソース割り当て

先に説明したCDBリソースプランのディレクティブによるPDBへのリソース割り当ての考え方は以下の通りです。

  • shares の相対的な比に基づいてCPUリソースとパラレル実行サーバーがPDBに割り当てられる(分配)
  • 他のPDBが割り当てられたリソースを使用していない場合は、その分を追加で使用可能。ただいs、utilization_limitおよびparallel_server_limitを超えて使用することはできない(上限)

新規報告

閉じる