表領域のファイルごとPDBを削除する安全な手順と注意点
Oracleのマルチテナント環境(CDB/PDB構成)では、不要になったPDB(Pluggable Database)を削除する際に、データファイルも含めて完全に削除したい場面があります。
このとき使用するのが、INCLUDING DATAFILES オプションです。
本記事では、以下の内容をわかりやすく解説します。
INCLUDING DATAFILESの意味と使いどころ- PDB削除の具体的な手順
- 実行時の注意点と確認方法
- 図解による動作イメージ
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
1. INCLUDING DATAFILES とは?
Oracleでは、PDBを削除する際に以下の2通りの削除方法があります。
| 削除方法 | データファイルの扱い |
|---|---|
DROP PLUGGABLE DATABASE pdb01; | データファイルは 残る |
DROP PLUGGABLE DATABASE pdb01 INCLUDING DATAFILES; | データファイルも 削除される |
INCLUDING DATAFILES を使うと、表領域ファイルやUNDOファイルなど、PDBで使用していたデータファイルが物理的に削除されるため、ディスクの空き容量を確保したい場合などに有効です。
2. 削除の準備と前提条件
PDBを削除するには、以下の前提条件を満たす必要があります。
- CDB$ROOT に接続していること
- 削除対象の PDB は クローズ状態であること
- SYSDBA 権限を持っていること
3. 削除手順(INCLUDING DATAFILES)
以下は pdb01 という名前のPDBを削除する例です。
3.1 CDB$ROOTに接続
-- SYSDBA で CDB$ROOT に接続
SQL> SHOW CON_NAME
CON_NAME
------------------------------
CDB$ROOT
3.2 削除対象のPDBをクローズ
SQL> ALTER PLUGGABLE DATABASE pdb01 CLOSE IMMEDIATE;
※ すでにCLOSEされている場合はこのステップは不要です。
3.3 INCLUDING DATAFILES を使ってPDBを削除
SQL> DROP PLUGGABLE DATABASE pdb01 INCLUDING DATAFILES;
✅ このコマンドにより、構成情報だけでなく関連するすべてのデータファイルが物理的に削除されます。
💰 【PR】Oracleエンジニアの市場価値、調べてみませんか?
Oracleのスキルは需要が高く、特定の資格や経験を持っていると年収が大幅にアップするケースがあります。まずはIT専門のエージェントで非公開求人をチェックしてみませんか?
4. テキスト図:削除のイメージ
【削除前】
/u01/app/oracle/oradata/CDB1/pdb01/system01.dbf
/u01/app/oracle/oradata/CDB1/pdb01/sysaux01.dbf
/u01/app/oracle/oradata/CDB1/pdb01/undotbs01.dbf
【DROP PLUGGABLE DATABASE pdb01 INCLUDING DATAFILES 実行】
【削除後】
↑ 上記すべてのファイルが削除され、ディスク空間が解放される
5. 注意点
- この操作は復元不可能です。削除前にバックアップの取得を推奨します。
- 削除対象のPDBがアーカイブモードで動作していても、RMANによる復元は不可になるため要注意。
- データファイルの所在が異なるディスクやASM上であっても、Oracleが管理している場合は削除対象になります。
6. まとめ
| コマンド例 | データファイルは削除される? |
|---|---|
DROP PLUGGABLE DATABASE pdb01; | ❌ 残る |
DROP PLUGGABLE DATABASE pdb01 INCLUDING DATAFILES; | ✅ 削除される |
OracleでPDBを削除する際、物理ファイルごと削除したい場合は INCLUDING DATAFILES を必ず付けましょう。
ディスク領域の節約にもつながります。
[参考]
Oracle Database 新しいCDBへのPDBの抜き差しおよび アップグレード 19c




コメント