3.24 UPGRADE CATALOG
目的
UPGRADE CATALOG
コマンドを使用すると、リカバリ・カタログ・スキーマを、旧バージョンから、RMANクライアントで必要なバージョンにアップグレードできます。
前提条件
RMANがリカバリ・カタログ所有者としてリカバリ・カタログ・データベースに接続していて、リカバリ・カタログ・データベースがオープン状態である必要があります。仮想プライベート・カタログへの接続中は、UPGRADE CATALOG
コマンドを使用できません(CREATE CATALOG
コマンドを参照)。アップグレードできるのは基本カタログのみです。
リカバリ・カタログが、RMAN実行可能ファイルに必要なバージョンより後のバージョンになっていないことが必要であり、後のバージョンの場合は、エラーが発行されます。RMANは、アップグレード中に生成したエラー・メッセージをメッセージ・ログに表示します。
Oracle Database 10gリリース1のリカバリ・カタログ・スキーマには、CREATE TYPE
権限が必要です。10gリリース1より前のリリースでリカバリ・カタログ所有者を作成し、このユーザーにRECOVERY_CATALOG_OWNER
ロールを付与しているとします。このロールにCREATE TYPE
権限が含まれていない場合は、アップグレードを実行する前に、このユーザーに明示的にCREATE TYPE
を付与する必要があります。
リカバリ・カタログをOracle Database 12cリリース2 (12.2)以降にアップグレードする場合、リカバリ・カタログ権限を管理するdbmsrmansys.sql
スクリプトを実行する必要があります。さらに、仮想プライベート・カタログが使用されている場合、仮想プライベート・カタログをアップグレードするdbmsrmanvpc.sql
スクリプトを実行する必要があります。Oracle Database 12cリリース1 (12.1.0.2)以降、リカバリ・カタログ・データベースはOracle Database Enterprise Editionを使用する必要があります。
使用上のノート
アップグレードを確定するため、UPGRADE CATALOG
コマンドを続けて2回入力するように求められます。追加の確認ステップを省略するには、UPGRADE CATALOG
コマンドを最初に実行する際、NOPROMPT
オプションとともに入力します。
リカバリ・カタログがすでに現行の状態になっていれば、RMANはコマンドの実行を認めます。その結果、必要に応じてパッケージの再作成ができます。
ベース・リカバリ・カタログへのアップグレードで既存の仮想プライベート・カタログへの変更が必要な場合は、RMANが次にその仮想プライベート・カタログに接続したときに、これらの変更が自動的に行われます。
UPGRADE CATALOG
コマンドでは、アップグレード用のスクリプトは実行されません。かわりに、RMANは各種のSQL DDL文をリカバリ・カタログに送信し、新規の表、ビュー、列などでリカバリ・カタログ・スキーマを更新します。
- 特定の遅延時間の後に
UPGRADE CATALOG
コマンドを実行して、ブロックしている接続を完了できるようにします - すべてのブロックしている接続を強制的に終了することで、
UPGRADE CATALOG
コマンドを実行して、ただちに開始します - 特定の遅延時間の後、その遅延時間の終了時にブロックしている接続を強制的に終了してから、
UPGRADE CATALOG
コマンドを実行して開始します UPGRADE CATALOG
コマンドが実行中の場合、RMANをメンテナンス・モードでリカバリ・カタログに接続できます。ブロックまたは待機しているカタログ接続がリカバリ・カタログのアップグレードの進行に影響する場合は、カタログ・スキーマ接続に対してアクションを実行できます。
リカバリ・カタログのアップグレードの管理の詳細は、バックアップおよびリカバリ・ユーザーズ・ガイドのカタログ・アップグレードの監視のためのメンテナンス・モードの使用を参照してください。
セマンティクス
構文要素 | 説明 |
---|---|
|
カタログをアップグレードする際、確認ステップを省略します。 |
TABLESPACE tablespace_name NOPROMPT |
指定した表領域をアップグレードする際、確認ステップを省略します。 |
|
リカバリ・カタログのアップグレードを開始するための遅延時間を秒単位で指定します。 アップグレードを開始するための特定の遅延時間を導入するには、 待機時間の終了時にブロックしている接続がある場合、 |
|
|
例
例3-85 リカバリ・カタログのアップグレード
この例では、RMANをリカバリ・カタログ・データベースcatdb
に接続し、それを新しいバージョンにアップグレードします。
RMAN> CONNECT CATALOG rco@catdb
recovery catalog database Password: password
connected to recovery catalog database
PL/SQL package RCO.DBMS_RCVCAT version 11.02.00.04 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 12.02.00.00
DBMS_RCVMAN package upgraded to version 12.02.00.00
DBMS_RCVCAT package upgraded to version 12.02.00.00
例3-86 UPGRADE CATALOG
コマンドのデフォルト動作のオーバーライド
UPGRADE CATALOG
コマンドは、指定された600秒の遅延時間の後に実行されます。RMANは、遅延時間の終了時にブロックしている接続を終了することで、カタログのアップグレードを完了します。RMAN> CONNECT CATALOG rco@catdb;
UPGRADE CATALOG WAIT 600 TERMINATE CONNECTED USERS;
UPGRADE CATALOG WAIT 600 TERMINATE CONNECTED USERS;
#RMAN-06008: connected to recovery catalog database
#RMAN-06435: recovery catalog owner is RMAN2
#RMAN-06442: enter UPGRADE CATALOG command again to confirm catalog upgrade
RMAN-07558: Following sessions are connected to catalog schema
RMAN-07559: =============================================
RMAN-07560: Logon_time SID Serial User
RMAN-07559: =============================================
RMAN-07561: 2023-08-01 11:17:13 53 34909 RMAN
RMAN-07561: 2023-08-01 11:18:12 54 29938 RMAN3
RMAN-07561: 2023-08-01 11:19:02 51 4252 RMAN
RMAN-07559: =============================================
RMAN-07556: Following sessions are blocking the catalog schema upgrade
RMAN-07559: =============================================
RMAN-07560: Logon_time SID Serial User
RMAN-07559: =============================================
RMAN-07561: 2023-08-01 11:17:13 53 34909 RMAN
RMAN-07559: =============================================
RMAN-07556: Following sessions are blocking the catalog schema upgrade
RMAN-07559: =============================================
RMAN-07560: Logon_time SID Serial User
RMAN-07559: =============================================
RMAN-07561: 2023-08-01 11:17:13 53 34909 RMAN
RMAN-06958: Executing: alter system kill session '53, 34909'
RMAN-07559: =============================================
#RMAN-06408: recovery catalog upgraded to version 23.01.00.23.02
#RMAN-06452: DBMS_RCVMAN package upgraded to version 23.01.00.23
#RMAN-06452: DBMS_RCVCAT package upgraded to version 23.01.00.23.
#
#Recovery Manager complete.