11 PDBの削除
接続されたPDBは、切断、削除または再配置することでCDBから削除できます。
この章のトピックは、次のとおりです:
- CDBからのPDBの切断
PDBをCDBに接続できるのと同様に、PDBをCDBから切断できます。 - PDBの削除
PDBを新しいCDBに移動する場合、またはPDBが必要でなくなった場合は、PDBを削除します。
関連項目:
親トピック: PDBおよびアプリケーション・コンテナの作成および削除
CDBからのPDBの切断
PDBをCDBに接続できるのと同様に、PDBをCDBから切断できます。
この項では、次の項目について説明します。
- PDBの切断について
PDBを切断すると、CDBへのPDBの関連付けが解除されます。PDBは、CDBに接続している場合にのみ使用できます。 - PDBの切断
ALTER PLUGGABLE DATABASE ... UNPLUG INTO
文を使用してPDBを切断します。
親トピック: PDBの削除
PDBの切断について
PDBを切断すると、CDBへのPDBの関連付けが解除されます。PDBは、CDBに接続している場合にのみ使用できます。
次のいずれかを実行する場合は、PDBを切断します。
-
PDBを異なるCDBに移動します
-
後で使用できるようにPDBをアーカイブします
-
PDBを使用できないようにします
PDBを切断するには、CDBルートまたはアプリケーション・ルートに接続し、ALTER PLUGGABLE DATABASE
文を使用して、次のいずれかを指定します。
-
XMLファイル
XMLファイル(.xml拡張子)には、切断された後にPDBに関するメタデータが格納されます。このメタデータは、PDBに接続するために、ターゲットCDBで
CREATE PLUGGABLE DATABASE
文を有効にするために必要な情報が含まれています。 -
.pdbファイル
.pdbファイルには、PDBについて記述したXMLファイルおよびPDBで使用されるファイル(データファイルやウォレット・ファイルなど)の圧縮アーカイブが格納されます。.pdbファイルにより、単一の圧縮されたファイル(複数ファイルではない)を新しい場所にコピーしてPDBをCDBに接続できます。
次の図では、この手法を使用してアプリケーション・コンテナからアプリケーションPDBを切断する方法を示しています。
PDBは切断する前にクローズする必要があります。PDBを切断すると、切断されたPDBはマウント・モードになります。この切断操作によって、PDBのデータファイルに対して、PDBが正常に切断されたなどの、記録対象となるなんらかの変更が加えられます。依然としてCDBの一部であるため、切断されたPDBはCDB全体のRMANバックアップに含まれています。このような方法によるバックアップは、切断されたPDBが将来必要になった場合に備えてアーカイブするのに便利です。
PDBをCDBから完全に除去するには、PDBを削除します。切断されたPDBに対してサポートされている唯一の操作は、PDBの削除です。PDBを再度同じCDBに接続できるようにするには、CDBから削除しておく必要があります。
ノート:
アプリケーション・コンテナは、それに属するアプリケーションPDBがない場合にのみ切断できます。関連項目:
-
PDBのクローズの詳細は、「1つ以上のPDBのオープン・モードの変更」を参照してください。
-
初期化パラメータおよび切断されたPDBの詳細は、「システム・レベルでのPDBの変更」を参照してください。
-
共通ユーザーおよびローカル・ユーザーの詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。
親トピック: CDBからのPDBの切断
PDBの切断
ALTER PLUGGABLE DATABASE ... UNPLUG INTO
文を使用してPDBを切断します。
前提条件
次の前提条件を満たしている必要があります。
-
現在のユーザーには
SYSDBA
またはSYSOPER
管理権限が必要であり、その権限は共通で付与されているか、またはPDBでローカルに付与されている必要があります。ユーザーは、接続時にAS SYSDBA
またはAS SYSOPER
を使用して権限を行使する必要があります。 -
PDBは、少なくとも1回はオープンしている必要があります。
ノート:
透過的データ暗号化で暗号化されているデータが含まれたPDBを切断する場合は、『Oracle Database Advanced Securityガイド』の指示に従います。
PDBを切断するには:
-
SQL*Plusで、現在のコンテナがPDBのルートであることを確認します。
PDBがCDBルートに接続される場合、現在のコンテナはCDBルートである必要があります。PDBがアプリケーション・ルートに接続される場合、現在のコンテナはアプリケーション・ルートである必要があります。
アプリケーション・コンテナを切断している場合、現在のコンテナはCDBルートである必要があり、アプリケーション・コンテナにはそれに接続されているアプリケーションPDBがないようにしてください。
-
PDBをクローズします。
Oracle Real Application Clusters (Oracle RAC)環境では、PDBがすべてのインスタンスでクローズされている必要があります。
-
UNPLUG INTO
句を使用してALTER PLUGGABLE DATABASE
文を実行し、切断するPDB、およびPDBのXMLメタデータ・ファイルまたは.pdbの名前と場所を指定します。
例11-1 XMLメタデータ・ファイルへのPDB salespdbの切断
次のALTER PLUGGABLE DATABASE
文により、PDB salespdb
が切断され、/oracle/data/
ディレクトリにsalespdb.xml
メタデータ・ファイルが作成されます。
ALTER PLUGGABLE DATABASE salespdb UNPLUG INTO '/oracle/data/salespdb.xml';
例11-2 アーカイブ・ファイルへのPDB salespdbの切断
次のALTER PLUGGABLE DATABASE
文により、PDB salespdb
が切断され、/oracle/data/
ディレクトリにsales.pdb
アーカイブ・ファイルが作成されます。sales.pdb
アーカイブ・ファイルは、XMLメタデータ・ファイルとPDBのファイル(データファイルやウォレット・ファイルなど)を含む圧縮ファイルです。
ALTER PLUGGABLE DATABASE salespdb UNPLUG INTO '/oracle/data/sales.pdb';
親トピック: CDBからのPDBの切断
PDBの削除
PDBを新しいCDBに移動する場合、またはPDBが必要でなくなった場合は、PDBを削除します。
PDBを削除すると、削除されたPDBへのすべての参照を削除するようにCDBの制御ファイルが変更されます。PDBに関連付けられているアーカイブREDOログ・ファイルおよびバックアップは削除されませんが、Oracle Recovery Manager (RMAN)を使用して削除できます。
PDBを削除する場合は、DROP PLUGGABLE DATABASE
文の次のいずれかの句を使用して、PDBのデータファイルを保持または削除できます。
-
KEEP DATAFILES
はデフォルトであり、データファイルを保持します。KEEP DATAFILES
が指定されていても、PDBの一時ファイルは不要であるため削除されます。KEEP DATAFILES
が指定されている場合は、PDBを切断する必要があります。 -
INCLUDING DATAFILES
では、ディスクからデータファイルを削除します。PDBが
SNAPSHOT COPY
句を使用して作成された場合、PDBを削除する際にINCLUDING DATAFILES
を指定する必要があります。
前提条件
次の前提条件を満たしている必要があります。
-
PDBは、マウント・モードであるか、または切断されている必要があります。
「1つ以上のPDBのオープン・モードの変更」を参照してください。
「CDBからのPDBの切断」を参照してください。
-
現在のユーザーには
SYSDBA
またはSYSOPER
管理権限が必要であり、その権限は共通で付与されているか、またはPDBでローカルに付与されている必要があります。ユーザーは、接続時にAS SYSDBA
またはAS SYSOPER
を使用して権限を行使する必要があります。
ノート:
これは、破壊的な操作です。
PDBを削除するには:
-
SQL*Plusで、現在のコンテナがCDBルートであるか、アプリケーションPDBの場合はアプリケーションPDBを含むアプリケーション・ルートであることを確認します。
PDBがCDBルートに接続される場合、現在のコンテナはCDBルートである必要があります。PDBがアプリケーション・ルートに接続される場合、現在のコンテナはアプリケーション・ルートまたはCDBルートである必要があります。
アプリケーション・コンテナを削除している場合、現在のコンテナはCDBルートである必要があり、アプリケーション・コンテナにはそれに接続されているアプリケーションPDBがないようにしてください。
-
DROP PLUGGABLE DATABASE
文を実行し、削除するPDBを指定します。
例11-3 データファイルは保持したままPDB salespdbを削除する方法
DROP PLUGGABLE DATABASE salespdb
KEEP DATAFILES;
例11-4 PDB salespdbおよびそのデータファイルを削除する方法
DROP PLUGGABLE DATABASE salespdb
INCLUDING DATAFILES;
関連項目:
親トピック: PDBの削除