CDB環境でPDBの作成方法の種類をわかりやすく解説!

CDB/PDB(マルチテナント)

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の作成および構成

💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?

Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?

コメント

タイトルとURLをコピーしました