Oracleのマルチテナントアーキテクチャでは、PDB(Pluggable Database)という形でデータベースを柔軟に管理できます。この記事では、PDBの作成方法について、種類ごとに整理し、メリット・用途と共に紹介します。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
🔰そもそもPDBとは?
PDBとは、CDB(Container Database)内にプラグインできるコンテナ型のデータベースです。
┌────────────┐
│ CDB(親) │
├────┬──────┬──────┤
│ROOT│SEED PDB│PDB1 │ ← PDB1などのユーザー作成PDB
└────┴──────┴──────┘
✅ PDB作成の主な方法一覧
| 作成方法 | 概要 |
|---|---|
| ① SEEDから作成 | デフォルトのPDB(PDB$SEED)をクローンして作成 |
| ② 既存のPDBから複製 | 同じCDB内の別PDBをクローンして作成 |
| ③ 他DBからクローン | 別CDBのPDBをDBリンク経由でコピー |
| ④ XMLファイルから作成 | アンプラグしたPDBをXMLファイルから再作成 |
① PDB$SEEDからのクローン(最も一般的)
Oracleが用意した初期テンプレート「PDB$SEED」を使ってPDBを作成します。
CREATE PLUGGABLE DATABASE pdb01
ADMIN USER admin IDENTIFIED BY oracle
FILE_NAME_CONVERT=('/u01/app/oracle/oradata/CDB1/pdbseed/',
'/u01/app/oracle/oradata/CDB1/pdb01/');
✅ 特徴:
- 最も一般的
- 高速に作成可能
- 必ず
PDB$SEEDを基にする
② 既存のPDBから複製(同じCDB内)
同じCDB内にすでに存在するPDBをクローンして、新しいPDBを作成します。
CREATE PLUGGABLE DATABASE pdb02 FROM pdb01
FILE_NAME_CONVERT=('/u01/app/oracle/oradata/CDB1/pdb01/',
'/u01/app/oracle/oradata/CDB1/pdb02/');
✅ 特徴:
- 元となるPDBをベースに完全複製
- テスト環境や開発環境のコピーに最適
- 元のPDBがOPEN状態ならREAD ONLYにする必要あり
③ 他のCDBからクローン(DBリンク利用)
異なるCDBに存在するPDBをDBリンク経由でコピーする方法です。
CREATE PLUGGABLE DATABASE pdb_remote_copy
FROM pdb_remote@link_to_cdb2
FILE_NAME_CONVERT=('/u01/app/oracle/oradata/CDB2/pdb_remote/',
'/u01/app/oracle/oradata/CDB1/pdb_remote_copy/');
✅ 特徴:
- CDB間でPDBの移動・共有が可能
- DBリンクの事前作成が必要
- 転送に時間がかかる場合もある
④ XMLファイルから再作成(アンプラグ・プラグイン)
PDBをアンプラグ(unplug)してXML定義を作成し、別CDBでプラグイン(plugin)します。
アンプラグ手順:
ALTER PLUGGABLE DATABASE pdb01
UNPLUG INTO '/home/oracle/pdb01.xml';
再プラグイン手順:
CREATE PLUGGABLE DATABASE pdb01
USING '/home/oracle/pdb01.xml'
FILE_NAME_CONVERT=('/u01/app/oracle/oradata/CDB1/pdb01/',
'/u01/app/oracle/oradata/CDB2/pdb01/');
✅ 特徴:
- 複数環境間でのPDB移行に最適
- アップグレードや移行時に有効
- XMLファイルの整合性が重要
📝 各作成方法の比較表
| 作成方法 | 高速性 | 柔軟性 | 移行性 | コメント |
|---|---|---|---|---|
| SEEDから | ◎ | △ | △ | 最も一般的、テンプレートから高速 |
| 既存PDBから | ◯ | △ | △ | テスト・開発環境の複製に便利 |
| 他CDBから | △ | △ | ◎ | DBリンクとファイル変換が必要 |
| XMLから | △ | ◯ | ◎ | バージョンアップにも使用可能 |
📌 まとめ
PDBの作成方法は、目的に応じて適切な手法を選ぶことが重要です。
- ✅ 新しくPDBを作るなら → PDB$SEED から作成
- ✅ テスト・検証用途なら → 既存PDBから複製
- ✅ 他の環境へ移動なら → DBリンク or XMLファイルから再作成
それぞれの特徴を理解して、運用に合わせたPDBの作成を行いましょう!
[参考]
4 CDBの作成および構成




コメント