Problem Description:
During a Direct to Cloud (DTC) restore operation for Oracle 12c (Release 12.1.0.2.0), the restore job fails with the error:
ORA-00904: "SYS"."DBMS_RCVMAN"."NUM2DISPLAYSIZE": invalid identifier
Additionally, the following RMAN error is observed:RMAN-06091: no channel allocated for maintenance (of an appropriate type)
The restore is being attempted in an environment where backups are performed both by Druva (to SBT/Cloud) and native RMAN (to local DISK).
Cause:
The function DBMS_RCVMAN.NUM2DISPLAYSIZE is not available in Oracle 12.1.0.2.0; it was introduced in Oracle 19c. The Druva agent attempts to invoke this function during restore job status tracking or RMAN metadata parsing, resulting in the invalid identifier error.
The RMAN-06091 error occurs because the control file metadata contains backup pieces for both SBT (Druva) and DISK (native RMAN). During restore, RMAN performs an implicit crosscheck requiring a DISK channel, but Druva’s automated restore script only allocates SBT_TAPE channels. This leads to restore failure as RMAN cannot verify the DISK backup pieces.
Traceback / Logs:
In Jobs Logs, RMAN Logs(rman.log)
Error: ORA-00904: "SYS"."DBMS_RCVMAN"."NUM2DISPLAYSIZE": invalid identifier
Error: RMAN-06091: no channel allocated for maintenance (of an appropriate type)
RMAN log excerpt:
allocated channel: ch0
channel ch0: SID=6 device type=SBT_TAPE
channel ch0: Druva Phoenix SBT for Oracle - Release 1.0.0.0
...
RMAN-06091: no channel allocated for maintenance (of an appropriate type)
RMAN configuration:
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 2 DAYS;
CONFIGURE DEFAULT DEVICE TYPE TO DISK;
Resolution:
Immediate Solution: Manual Restore
Download backup data files using the third option under Oracle DTC restore.
While running manual RMAN restore, add the command:
ALLOCATE CHANNEL FOR MAINTENANCE TYPE 'DISK';
This enables RMAN to complete the crosscheck and proceed with restore.
Reference: Recover database from downloaded backup data
Future Strategy: Transition to Druva-Only Backups
Option A (Standard Approach):
Configure RMAN default device type to SBT_TAPE:
CONFIGURE DEFAULT DEVICE TYPE TO SBT_TAPE;
Stop all native RMAN-to-disk backup jobs.
Wait 3 days (to cover the 2-day recovery window).
Take a new Druva DTC backup; the control file will exclude disk backups.
Test automated restore from the latest snapshot.
Option B (Accelerated Approach):
Configure RMAN default device type to SBT_TAPE.
Temporarily set retention policy to 1 day: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 1 DAYS;
Stop all native RMAN-to-disk backup jobs.
Wait 2 days, then take a new Druva DTC backup and test automated restore.
Revert retention policy back to 2 days after testing.
Additional Recommendations:
If a recovery catalog is in use, update the catalog schema by running Oracle’s catalog.sql and catproc.sql scripts to bring it in sync with Oracle 12.1.0.2.
Ensure sufficient free space on the root filesystem before re-running the restore.
For every manual restore, a README file is created at the same location as the restored data, containing instructions and sample commands.
References:
