SYMPTOM
The following errors occurred from 11.2.0.4 standby databases:
SQL> select open_mode from v$database; OPEN_MODE -------------------- MOUNTED SQL> select * from v$rman_backup_job_details; select * from v$rman_backup_job_details * ERROR at line 1: ORA-00604: error occurred at recursive SQL level 2 ORA-00904: "SYS"."DBMS_RCVMAN"."NUM2DISPLAYSIZE": invalid identifier
CAUSE
The problem is that DBMS_RCVMAN and other packages are not initialized when database in MOUNT mode, only in OPEN mode, hence the error when using SYS.DBMS_RCVMAN
dbms_rcvman package is not loaded in memory until database is open or RMAN client is ran explicitly.
SOLUTION
This error is expected because the standby instances are in MOUNT mode and the DBMS_RCVMAN does not get initialized.
Workaround: just make a call to rman before running the query in the Standby database. This will initialize the DBMS_RCVMAN package.
SQL> select * from v$rman_backup_job_details; select * from v$rman_backup_job_details * ERROR at line 1: ORA-00604: error occurred at recursive SQL level 2 ORA-00904: "SYS"."DBMS_RCVMAN"."NUM2DISPLAYSIZE": invalid identifier SQL> exit $ rman target / RMAN> exit $ sqlplus / as sysdba SQL> select * from v$rman_backup_job_details; ... .. .