以前のリリースのPDBの新しいリリースへのアップグレード
PDBをUPGRADE
モードで開き、パラレル・アップグレード・ユーティリティを使用して以前のリリースのPDBをCDBのリリース・レベルにアップブレードします。
-
必要に応じて、アップグレードするPDBに切り替えます。たとえば、PDB
salespdb
に切り替えるには、次のコマンドを入力します。SQL> ALTER SESSION SET CONTAINER=salespdb;
-
PDBをUPGRADEモードで開きます。
SQL> ALTER PLUGGABLE DATABASE OPEN UPGRADE;
-
パラレル・アップグレード・ユーティリティ・コマンド(
catctl.pl
、またはシェル・ユーティリティdbupgrade
)を使用してPDBをアップグレードします。PDBをアップグレードする場合、パラレル・アップグレード・ユーティリティで通常使用するコマンドを使用します。ただし、アップグレードするPDBを指定するためにオプション
-c PDBname
も追加します。salespdb
という名前のPDBを使用する次の例に示すとおり、PDBの名前を大文字にします。$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catctl.pl -d \ $ORACLE_HOME/rdbms/admin -c 'salespdb' -l $ORACLE_BASE catupgrd.sql
-
結果を確認します。
ログのデフォルトのファイル・パスは
Oracle_base/cfgtoollogs/dbname/upgradedatetime
です。Oracle_base
はOracleベース・パス、dbname
はデータベース名、upgradedatetime
はアップグレードの日時です。日時の文字列の書式はYYYYMMDDHHMMSCで、YYYYは年、MMは月、DDは日、HHは時間、MMは分、SCは秒を表します。次に例を示します。
$ORACLE_BASE/cfgtoollogs/salespdb/upgrade20160815120001/upg_summary.log
-
SQL*Plusにログインし、PDBをオープンしてアップグレード後修正を実行してから、データベースの
INVALID
オブジェクトを再コンパイルします。SQL> STARTUP; SQL> ALTER SESSION SET CONTAINER=salespdb;
-
ユーティリティ
catcon.pl
を使用してスクリプトpostupgrade_fixups.sql
を実行します。$ORACLE_HOME/perl/bin/perl catcon.pl –c 'salespdb' -n 1 -e -b postfixups -d '''.''' /tmp/cfgtoollogs/salespdb/preupgrade/postupgrade_fixups.sql
-
$ORACLE_HOME/rdbms/admin
ディレクトリから、ユーティリティcatcon.pl
を使用してutlrp.sql
を実行します。$ORACLE_HOME/perl/bin/perl catcon.pl –c 'salespdb'-n 1 -e -b comp -d '''.''' utlrp.sql
このスクリプトは、データベース内の
INVALID
オブジェクトを再コンパイルし、現在のディレクトリにcomp0.log
という名前のログ・ファイルを配置します。
親トピック: プラガブル・データベースの順次アップグレード