3.24 UPGRADE CATALOG
Purpose
Use the UPGRADE CATALOG command to upgrade a recovery catalog schema from an older version to the version required by the RMAN client.
Prerequisites
RMAN must be connected to the recovery catalog database, which must be open, as the owner of the recovery catalog. You cannot use the UPGRADE CATALOG command while connected to a virtual private catalog (see CREATE CATALOG command). Only the base catalog can be upgraded.
The recovery catalog must not already be at a version greater than needed by the RMAN executable; otherwise, RMAN issues an error. RMAN displays all error messages generated during the upgrade in the message log.
The Oracle Database 10gR1 version of the recovery catalog schema requires the CREATE TYPE privilege. If you created the recovery catalog owner in a release before 10gR1, and if you granted the RECOVERY_CATALOG_OWNER role to this user when the role did not include the CREATE TYPE privilege, then you must grant CREATE TYPE to this user explicitly before performing the upgrade.
If you are upgrading a recovery catalog to Oracle Database 12c Release 2 (12.2) or higher, then you must run the dbmsrmansys.sql script that manages recovery catalog privileges. Additionally, if virtual private catalogs are used, then you must run the dbmsrmanvpc.sql script that upgrades virtual private catalogs. Starting with Oracle Database 12c Release 1 (12.1.0.2), the recovery catalog database must use Oracle Database Enterprise Edition.
Usage Notes
RMAN prompts you to enter the UPGRADE CATALOG command two consecutive times to confirm the upgrade. To bypass the additional confirmation step, enter the UPGRADE CATALOG command with the NOPROMPT option while running it the first time.
RMAN permits the command to be run if the recovery catalog is already current so that the packages can be re-created if necessary.
If an upgrade to a base recovery catalog requires changes to an existing virtual private catalog, then RMAN makes these changes automatically the next time RMAN connects to that virtual private catalog.
The UPGRADE CATALOG command does not run scripts to perform an upgrade. Instead, RMAN sends various SQL DDL statements to the recovery catalog to update the recovery catalog schema with new tables, views, columns, and so on.
- Run the
UPGRADE CATALOGcommand after a given time delay, so that blocking connections can complete - Run the
UPGRADE CATALOGcommand to start immediately by forcibly terminating all blocking connections - Run the
UPGRADE CATALOGcommand to start after a given time delay and after forcibly terminating any blocking connections at the end of the time delay - When the
UPGRADE CATALOGcommand is in execution, you can connect RMAN to the recovery catalog in the maintenance mode. You can then take action on catalog schema connections, particularly if blocking or waiting catalog connections are affecting the progress of the recovery catalog upgrade.
To learn about managing recovery catalog upgrades, see Using the Maintenance Mode for Monitoring Catalog Upgrade in the Backup and Recovery User's Guide.
Semantics
| Syntax Element | Description |
|---|---|
|
|
Bypasses the confirmation step while upgrading the catalog. |
TABLESPACE tablespace_name NOPROMPT |
Bypasses the confirmation step while upgrading the specified tablespace. |
|
|
Specifies a time delay, in seconds, to start the recovery catalog upgrade. Use the If there are blocking connections at the end of the wait time, then the |
|
|
Use the Combine the |
Example
Example 3-86 Upgrading a Recovery Catalog
This example connects RMAN to recovery catalog database catdb and then upgrades it to a more current version:
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.00Example 3-87 Overriding the default behavior of the UPGRADE CATALOG command
UPGRADE CATALOG command executes after a given time delay of 600 seconds. RMAN completes the catalog upgrade by terminating a blocking connection at the end of the time delay.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.