以前のリリースのPDBの以前のリリースのCDBからの切断
PDBのアップグレードの準備をするために、この手順を使用して以前のリリースのCDBからPDBを切断します。
-
PDBでアップグレード前情報ツールを実行します
たとえば、
salespdb
という名前のPDBが$ORACLE_HOME_12.2
のCDBで実行されている場合:$ORACLE_HOME_12.2/jdk/bin/java -jar $ORACLE_HOME_18/rdbms/admin/preupgrade.jar dir /tmp -c salespdb
-
ソース・データベースで
preupgrade_fixups.sql
を実行します。次に例を示します。
CONNECT / AS SYSDBA SQL> ALTER SESSION SET CONTAINER=salespdb; SQL> @/tmp/preupgrade_fixups_salespdb.sql
-
preupgrade.log
にリストされているすべての推奨事項に従います。 -
切断するPDBをクローズします。
たとえば、PDB
salespdb
をクローズするには、次のコマンドを使用します。SQL> ALTER PLUGGABLE DATABASE salespdb CLOSE;
-
もう一度
CDB$ROOT
にログインします。CONNECT / AS SYSDBA SQL> ALTER SESSION SET CONTAINER=CDB$ROOT;
-
次のSQLコマンド構文を使用して以前のリリースのPDBを切断します(
pdb
はPDBの名前、path
はPDB XMLファイルの場所です)。ALTER PLUGGABLE DATABASE pdb UNPLUG INTO 'path/pdb.xml';
たとえば、pdbの名前が
salespdb
で、パスが/home/oracle/salespdb.xml
の場合:SQL> ALTER PLUGGABLE DATABASE salespdb UNPLUG INTO '/home/oracle/salespdb.xml';
コマンドが完了すると、次のレスポンスが表示されます。
Pluggable database altered
-
プラガブル・データベース
salespdb
は削除しますが、データ・ファイルは保持します。CDBビューに残っている情報をクリーン・アップし、将来の問題を回避するために、この手順の後に
salespdb
を削除することをお薦めします。ベスト・プラクティス・ガイドラインとして、まず対象CDBのPDBをバックアップし、その後にソースでDROP
コマンドを発行します。注意:
DROP
コマンドによりバックアップ・ファイルが削除されるため、元のCDBからPDBを削除した後は、先に行ったバックアップを使用して元に戻すことはできません。プラガブル・データベースを削除するには、次のコマンドを入力します。
SQL> DROP PLUGGABLE DATABASE salespdb KEEP DATAFILES;
-
終了します。
親トピック: プラガブル・データベースの順次アップグレード