Oracle Database 12cから登場した「マルチテナントアーキテクチャ」は、従来のデータベース構成とは大きく異なる新しい仕組みです。
Oracle 21c以降ではマルチテナント構成が標準となり、これを理解しておくことは今後のOracle運用では必須となります。
本記事では、「マルチテナントって何?」「どんな構成?」「何がすごいの?」を、図を交えてやさしく解説します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
1. マルチテナントアーキテクチャとは?
マルチテナントアーキテクチャとは、1つのOracleインスタンス内に複数のデータベース(PDB)を格納できる構造です。
この「PDB(Pluggable Database)」が、従来の“1つのOracleデータベース”とほぼ同じ機能を持つものです。
つまり、これまでのデータベース = PDB と考えると、非常にわかりやすくなります。
2. マルチテナント構成の図解
【図1】CDBとPDBの構成イメージ(PDB$SEEDを含む)
+------------------------------+
| CDB(cdb1) | ← Oracleインスタンス
+------------------------------+
| +------------------------+ |
| | CDB$ROOT | | ← 管理情報(データディクショナリ等)
| +------------------------+ |
| | PDB$SEED | | ← PDB作成用テンプレート(読み取り専用)
| +------------------------+ |
| | PDB01 | | ← 業務用データベース(例:販売管理)
| +------------------------+ |
| | PDB02 | | ← 業務用データベース(例:在庫管理)
| +------------------------+ |
+------------------------------+
- CDB(Container Database):インスタンスの本体。複数のPDBを内包します。
- PDB(Pluggable Database):ユーザーのデータベース。従来のOracleデータベースに相当。
- CDB$ROOT:管理機能や共通情報を保持します。
- PDB$SEED:PDBを作成するためのテンプレート。
3. なぜマルチテナント構成が必要なのか?
これまでのOracle環境では、業務ごとに個別のデータベースインスタンスを用意していました。
この方法では、以下のような課題がありました:
- サーバーのリソース(メモリ、CPU)が無駄に分散
- データベースが増えるたびに管理が煩雑化
- バックアップやパッチが個別対応になり手間がかかる
これらを解決するのが、マルチテナント構成です。
4. マルチテナント構成のメリット
| 項目 | 内容 |
|---|---|
| ① リソースの有効活用 | 1インスタンスに複数PDBを集約。CPUやメモリの無駄を削減。 |
| ② 管理の効率化 | パッチやバックアップはCDB単位で一括対応可能。 |
| ③ テナントごとの分離性 | 各PDBは独立したデータベースとして扱える(他に影響を与えない)。 |
| ④ クラウド親和性 | Oracle Cloudではマルチテナント前提の構成。PDB単位の移行も容易。 |
| ⑤ 柔軟な環境構築 | PDBの複製(クローン)で開発・テスト環境の迅速構築が可能。 |
| ⑥ セキュリティ管理がしやすい | 各PDBごとに監査設定・ポリシー適用が可能。SaaS環境に最適。 |
5. 実際のPDB操作例(SQL)
以下のように、SQLでPDBを確認・操作できます。
-- 現在のPDB一覧を確認(CDBに接続した状態で)
SELECT pdb_name, status FROM dba_pdbs;
-- PDBを起動(OPEN)
ALTER PLUGGABLE DATABASE pdb01 OPEN;
-- PDBを停止(CLOSE)
ALTER PLUGGABLE DATABASE pdb01 CLOSE IMMEDIATE;
6. 非CDB構成との比較
| 比較項目 | 非CDB構成(従来) | マルチテナント構成(CDB+PDB) |
|---|---|---|
| データベース構成 | インスタンスごとに1つ | 1インスタンスに複数のPDB |
| 管理 | 個別対応が必要 | 一括管理が可能(パッチ・バックアップ) |
| 拡張性 | 限界がある | 柔軟にPDB追加・削除が可能 |
| クラウド対応 | 難しい | クラウドとの親和性が高い |
7. PDBは「従来のデータベース」と同じように使える!
PDBは「スキーマ、ユーザー、権限、表、インデックス、PL/SQL」などをすべて持ち、従来のOracleデータベースと同じように使用できます。
つまり、ユーザー視点では「PDB=今までのOracleデータベース」と捉えても問題ありません。
違いは「それがCDBという器の中にある」という点だけです。
まとめ
- Oracleのマルチテナント構成は、今後の標準アーキテクチャ。
- PDBは従来のデータベースに相当し、違和感なく運用が可能。
- 管理性、柔軟性、セキュリティ、クラウド対応など、あらゆる面で利点が多い。
[参考]
4 CDBの作成および構成




コメント