以前のリリースのPDBの新しいリリースへのアップグレード

PDBをUPGRADEモードで開き、パラレル・アップグレード・ユーティリティを使用して以前のリリースのPDBをCDBのリリース・レベルにアップブレードします。

  1. 必要に応じて、アップグレードするPDBに切り替えます。たとえば、PDB salespdbに切り替えるには、次のコマンドを入力します。

    SQL> ALTER SESSION SET CONTAINER=salespdb;
  2. PDBをUPGRADEモードで開きます。

    SQL> ALTER PLUGGABLE DATABASE OPEN UPGRADE;
    
  3. パラレル・アップグレード・ユーティリティ・コマンド(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
  4. 結果を確認します。

    ログのデフォルトのファイル・パスは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
    
  5. SQL*Plusにログインし、PDBをオープンしてアップグレード後修正を実行してから、データベースのINVALIDオブジェクトを再コンパイルします。

    SQL> STARTUP;
    SQL> ALTER SESSION SET CONTAINER=salespdb;
    
  6. ユーティリティ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
  7. $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という名前のログ・ファイルを配置します。