単一のプラガブルOracle Database (PDB)のダウングレード
Oracle Databaseをダウングレードする場合、CDB全体をダウングレードせずに1つのPDBをダウングレードできます。
個々のPDBをダウングレードできます。たとえば、アップグレードしたCDBからPDBを切断し、PDBをダウングレードした後、これを以前のリリースのCDBに接続するか、そのPDBデータベースをスタンドアロン・データベースに変換することができます。
PDBのダウングレード
この手順の例では、PDBをリリース19cにダウングレードします。
-
PDBを
DOWNGRADE
モードで起動します。これを行うとき、CDBは標準モードになります。SQL> alter pluggable database CDB1_PDB1 open downgrade;
-
dbdowngrade
ユーティリティを使用するか、catcon.pl
を使用してcatdwgrd
を手動で実行して、PDBをダウングレードします。これらの各オプションでは、ダウングレードするPDBは
PDB1
です。-
dbdowngrade
ユーティリティを使用してダウングレードします。次のように
dbdowngrade
スクリプトを使用してPDBをダウングレードします。cd $ORACLE_HOME/bin ./dbdowngrade -c 'PDB1'
-
catdwgrd
でcatcon.pl
を使用して手動でダウングレードします。次のように
catdwgrd
を実行します。output-directory
は出力ディレクトリ、catdwgrd
はログ・ファイル・ベースです。$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -d $ORACLE_HOME/rdbms/admin -n 1 -l output-directory -e -b catdwgrd -c 'PDB1' catdwgrd.sql
例では、
catdwgrd
はcatcon.pl
とともに実行されます。-d
パラメータは、catcon.pl
にcatdwgrd
の入手先を指定します。-l
パラメータは、ログ・ファイルの出力ディレクトリを指定します(rdbms/admin
ディレクトリに書き込むかわりとなります)。2つのスクリプトを同時に一緒に実行するには、-r
パラメータを使用する必要があります。ダウングレードのログ・ファイルは、Oracleベース・ホーム(コマンド
orabasehome
またはorabase
で識別されるOracleベースか、コマンドoracle_home
で識別されるOracleホーム)にこの順番で配置されます。
-
-
PDBをクローズします
PDBのCDBからの切断
このステップでは、ダウングレードしたPDBをOracle Database 23ai CDBから切断します。
-
アップグレードしたCDBに接続します。
-
切断するPDBをクローズします。
SQL> alter pluggable database PDB1 close;
-
ダウングレードした19cのPDBを切断し、変数
path
をシステムのパスに置き換えます。SQL> alter pluggable database PDB1 unplug into 'path/pdb1.xml';
切断が完了すると、次のレスポンスが表示されます。
Pluggable database altered
ダウングレードされた19cのPDBの接続
このステップでは、ダウングレードされた19cのPDBを19cのCDBに接続します。これを行うには、このCDBでPDBを作成する必要があります。次の例は、PDB1というプラガブル・データベースの作成方法を示しています。
-
19cのCDBに接続します。
-
19cのPDBを接続します。
SQL> create pluggable database PDB1 using 'path/pdb1.xml';
このコマンドを実行すると、
「プラガブル・データベースが作成されました。」
が返されます。 -
PDBをアップグレード・モードで開きます。
SQL> alter pluggable database PDB1 open upgrade;
-
PDBに接続します。
SQL> alter session set container=PDB1;
-
PDBで
catrelod
を実行します。SQL> @$ORACLE_HOME/rdbms/admin/catrelod.sql
catrelod.sql
スクリプトによって、ダウングレードしたデータベース内の各データベース・コンポーネントに該当するバージョンが再ロードされます。 -
PDBで
utlrp
を実行します。SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
utlrp.sql
スクリプトは、以前INVALID
状態だったパッケージ、プロシージャ、型などのすべての既存のPL/SQLモジュールを、再コンパイルします。
関連トピック