PDBの切断(UNPLUG)を完全理解

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

XML形式とPDBアーカイブ形式の違い・切断コマンド・再接続に必要なファイルを徹底解説!

Oracle Multitenant環境では、PDB(Pluggable Database)を切断(UNPLUG)することで、他のCDBへの移行やバックアップ保管が可能になります。

この記事では、以下の内容をわかりやすく整理して解説します。

  • PDB切断の基本
  • XML形式とPDBアーカイブ形式の違い
  • 切断時の具体的なコマンド
  • 再接続に必要なファイルの一覧
  • ファイル名の命名ルール(.xml, .pdb)の注意点

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

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


1. PDBの切断とは?

「PDBの切断(UNPLUG)」とは、あるCDBからPDBを安全に分離し、将来的に別のCDBへ再接続できるようにする操作です。
切断されたPDBは、再接続(Plug-in)することで再び利用可能になります。


2. 切断方法の2つの形式

切断形式出力ファイル構成特徴
XML形式.xml構成ファイル+複数のデータファイル編集可能なXMLと個別のDBFファイルで柔軟性が高い
PDBアーカイブ形式.pdbファイル(ZIPアーカイブ)XMLとDBFをまとめた単一ファイルで管理が簡単

ファイル名にはそれぞれ拡張子を明示的に指定する必要があります。

  • XML形式では pdb01.xml のように.xmlをつけること
  • アーカイブ形式では pdb01.pdb のように.pdbをつけること

3. 再接続に必要なファイル(最初に解説)

● XML形式で切断した場合

必要なファイル内容
pdb01.xmlPDBの構成情報(メタデータ)
*.dbfデータファイル(表領域・UNDO等)

.xmlとすべてのデータファイルが揃っていないと再接続できません。

● PDBアーカイブ形式で切断した場合

必要なファイル内容
pdb01.pdbZIP形式の単一ファイル。内部にXML+データファイルをすべて含む

.pdbファイルだけで再接続が可能。中に構成情報(XML相当)も内包されています。


4. XML形式での切断

4.1 特徴

  • 構成情報が.xmlファイルとして出力される
  • データファイル(.dbf)はファイルシステムに個別に残る
  • XMLは再接続時に編集可能

4.2 切断コマンド

-- CDB$ROOTに接続
ALTER SESSION SET CONTAINER = CDB$ROOT;

-- 対象PDBを閉じる
ALTER PLUGGABLE DATABASE pdb01 CLOSE IMMEDIATE;

-- XMLファイルで切断(.xml拡張子を必ずつける)
ALTER PLUGGABLE DATABASE pdb01 UNPLUG INTO '/u01/app/oracle/pdb01.xml';

4.3 ファイル構成例

/u01/app/oracle/pdb01.xml         ← 構成ファイル(XML)
/u01/app/oracle/oradata/pdb01/ ← データファイル群(例:system01.dbf)

5. PDBアーカイブ形式での切断

5.1 特徴

  • .pdb拡張子をもつZIP形式のファイルが生成される
  • アーカイブ内部には構成XMLとデータファイルがすべて含まれる
  • 単一ファイルで完結するため、移行やバックアップに非常に便利

CREATE DIRECTORYCOPYオプションは不要です。
ALTER PLUGGABLE DATABASE ... UNPLUG INTO '/path/pdb01.pdb' だけで完了します。

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

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

5.2 切断コマンド

-- CDB$ROOTに接続
ALTER SESSION SET CONTAINER = CDB$ROOT;

-- PDBを閉じる
ALTER PLUGGABLE DATABASE pdb01 CLOSE IMMEDIATE;

-- アーカイブ形式(.pdb)で切断(.pdb拡張子を必ずつける)
ALTER PLUGGABLE DATABASE pdb01 UNPLUG INTO '/u01/app/oracle/pdb01.pdb';

6. 切断後の確認と削除

6.1 状態確認

SELECT PDB_NAME, STATUS FROM DBA_PDBS;

PDB_NAME STATUS
--------- ---------
PDB01 UNPLUGGED

6.2 PDBを削除(ファイルは保持)

DROP PLUGGABLE DATABASE pdb01 KEEP DATAFILES;

7. 比較まとめ(形式ごとの違い)

比較項目XML形式PDBアーカイブ形式
出力ファイル.xml+複数の.dbf.pdb単一ファイル(ZIP)
ファイル名拡張子.xml を必ず指定.pdb を必ず指定
管理のしやすさ△(複数ファイルの管理が必要)◎(単一ファイルで完結)
柔軟性◎ XMLを手動編集できる△ 編集は不可(内部構造)
可搬性・保管性△ 構成+データをセットで移動◎ ZIPなのでコピーしやすい

8. 図解:必要ファイルの構成イメージ

【XML形式】
必要ファイル:
├── /u01/app/oracle/pdb01.xml
├── /oradata/pdb01/system01.dbf
├── /oradata/pdb01/sysaux01.dbf
└── ...

【PDBアーカイブ形式】
必要ファイル:
└── /u01/app/oracle/pdb01.pdb
├─ metadata.xml(構成情報)
├─ system01.dbf
├─ sysaux01.dbf
└─ ...

9. まとめ

OracleのPDB切断は、「どの形式で切断するか」と「ファイル名を正確に指定するか」が成功の鍵です。

  • XML形式.xml拡張子をつけて構成とデータを分けて管理
  • PDBアーカイブ形式.pdb拡張子をつけて単一ファイルで完結

再接続を確実に行うために、必要なファイルを揃えること、拡張子を正しく指定することを忘れないようにしましょう。

[参考]
Oracle Database 新しいCDBへのPDBの抜き差しおよび アップグレード 19c

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

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

コメント

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