Oracle DatabaseのPDB(プラガブル・データベース)の概要をまとめました。
PDB(プラガブル・データベース)とは
以下オラクルの公式ドキュメントからPDBの説明を引用します。
PDBは、アプリケーションに個別のデータベースとして表示されるスキーマ、スキーマ・オブジェクトおよび非スキーマ・オブジェクトのポータブル・コレクションです。
物理レベルでは、各PDBには、そのPDBのデータを格納する固有の一連のデータ・ファイルがあります。CDBには、それに格納されるPDBのすべてのデータ・ファイル、およびCDB自体のメタデータを格納する一連のシステム・データ・ファイルが含まれています。
PDBを移動またはアーカイブするには、PDBを切断できます。切断されたPDBは、PDBのデータ・ファイルおよびメタデータ・ファイルで構成されています。切断されたPDBは、CDBに接続されるまで使用できません。
PDBはCDB内のデータベースです。CDBルートに接続して使用します。
PDBはマルチテナント構成で使用する、非マルチテナント構成のときの普通のオラクルデータベース
PDBはマルチテナント構成のときにのみ使用するデータベースの概念で、マルチテナント構成になっていないときに使うごく普通のデータベースという認識で問題ありません。マルチテナント構成になった際に、プラガブル、つまりCDBルートに対して接続可能な状態になっている、ということを表現しています。
PDBについて、以下のオラクル公式記事からの引用になります。
コンテナ・データベース内に「CDBルート」「CDBシード」「PDB(SALES)」「PDB(HR)」という資源がありますね。これらが「コンテナ」に該当し、各コンテナはコンテナ・データベース内で独立した資源となっています。顧客データを格納するコンテナに相当するのがPDBと記載があるコンテナで、非CDBのときに扱っていたデータベースと置き換えていただいて問題ありません。このPDBのことをプラガブル・データベースといいます。
Pluggableとは
PDBのPluggable(プラガブル)という単語の意味を考えてみます。
プラガブルという単語はプラグで接続可能な、という形容詞です。
(プラグで)接続可能な
PDBはプラグのように接続したり切断したりが自由にできるデータベースということになります。
PDBはCDBルートに接続する
PDBの接続先は、CDB内のCDBルートです。詳しくは以下のオラクル公式サイトのリンクにある図を確認するとわかりやすいです。