前提条件
RMANがリカバリ・カタログ所有者としてリカバリ・カタログ・データベースに接続していて、リカバリ・カタログ・データベースがオープン状態である必要があります。仮想プライベート・カタログへの接続中は、UPGRADE CATALOG
コマンドを使用できません(CREATE CATALOG
コマンドを参照)。アップグレードできるのは基本カタログのみです。
リカバリ・カタログのバージョンは、RMAN実行可能ファイルに必要なバージョン以下である必要があり、そのバージョンより後の場合はエラーが発生します。RMANは、アップグレード中に生成したエラー・メッセージをメッセージ・ログに表示します。
Oracle Database 10gリリース1のリカバリ・カタログ・スキーマには、CREATE TYPE
権限が必要です。10gリリース1より前のリリースでリカバリ・カタログ所有者を作成し、このユーザーにRECOVERY_CATALOG_OWNER
ロールを付与しているとします。このロールにCREATE TYPE
権限が含まれていない場合は、アップグレードを実行する前に、このユーザーに明示的にCREATE TYPE
を付与する必要があります。
使用上の注意
アップグレードを確定するため、UPGRADE CATALOG
コマンドを続けて2回入力する必要があります。
リカバリ・カタログがすでに現行の状態であれば、RMANによってコマンドの実行が認められ、必要に応じてパッケージが再作成されます。
ベース・リカバリ・カタログへのアップグレードで既存の仮想プライベート・カタログへの変更が必要な場合は、RMANが次にその仮想プライベート・カタログに接続したときに、これらの変更が自動的に行われます。
UPGRADE CATALOG
コマンドでは、アップグレード用のスクリプトは実行されません。かわりに、RMANは各種のSQL DDL文をリカバリ・カタログに送信し、新規の表、ビュー、列などでリカバリ・カタログ・スキーマを更新します。
例3-64 リカバリ・カタログのアップグレード
この例では、RMANをリカバリ・カタログ・データベースcatdb
に接続し、それを新しいバージョンにアップグレードします。
RMAN> CONNECT CATALOG rco@catdb
recovery catalog database Password: password
connected to recovery catalog database
PL/SQL package rman.DBMS_RCVCAT version 10.01.00 in RCVCAT database is too old
RMAN> UPGRADE CATALOG;
recovery catalog owner is RCO
enter UPGRADE CATALOG command again to confirm catalog upgrade
RMAN> UPGRADE CATALOG;
recovery catalog upgraded to version 11.01.00
DBMS_RCVMAN package upgraded to version 11.01.00
DBMS_RCVCAT package upgraded to version 11.01.00