Oracle DBMS_RCVCAT
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
Purpose RMAN repository catalog maintenance. This package is not installed by default but is created when CREATE CATALOG is executed in RMAN.
AUTHID DEFINER
Constants
Name Data Type Value
 General Constants
FALSE# NUMBER 0
TRUE# NUMBER 1
 Upgrade Completed Flag
UPGRADE_COMPLETED NUMBER 1
 Resynch Status Constants
RESYNC_FULL NUMBER 1
RESYNC_PARTIAL NUMBER 2
RESYNC_NONE NUMBER 3
 Configure Resync Constnats
CONFIGRESYNC_NO NUMBER 0
CONFIGRESYNC_TORC NUMBER 1
CONFIGRESYNC_TORF NUMBER 2
CONFIGRESYNC_TORC_TOCF NUMBER 3
 Configuration Status
CF_CURRENT NUMBER 1
CF_BACKUP NUMBER 2
CF_CREATED NUMBER 3
CF_STANDBY NUMBER 4
CF_CLONE NUMBER 5
CF_NOMOUNT NUMBER 6
 
ECODE_UNKNOWN_INC NUMBER -64735
 DB Key Constnats
THIS_DB_KEY NUMBER NULL
THIS_DBINC_KEY NUMBER NULL
 Resync Reason Constants
RESYNC_REASON_NOACTION NUMBER 1
RESYNC_REASON_NONE NUMBER 2
RESYNC_REASON_DF NUMBER 3
RESYNC_REASON_TF NUMBER 4
RESYNC_REASON_TS NUMBER 5
RESYNC_REASON_THR NUMBER 6
RESYNC_REASON_ORL NUMBER 7
RESYNC_REASON_CONF NUMBER 8
RESYNC_REASON_DF NUMBER 9
RESYNC_REASON_RSL NUMBER 10
RESYNC_REASON_INC NUMBER 11
RESYNC_REASON_RESET NUMBER 12
RESYNC_REASON_PDB NUMBER 13
RESYNC_REASON_CDF NUMBER 14
RESYNC_REASON_AL NUMBER 15
RESYNC_REASON_BP NUMBER 16
RESYNC_REASON_BS NUMBER 17
RESYNC_REASON_DO NUMBER 18
RESYNC_REASON_OFFR NUMBER 19
RESYNC_REASON_PC NUMBER 20
RESYNC_REASON_IC NUMBER 21
RESYNC_REASON_GSRP NUMBER 22
RESYNC_REASON_BCR NUMBER 23
RESYNC_REASON_NRSP NUMBER 24
RESYNC_REASON_PIC NUMBER 25
RESYNC_REASON NUMBER RESYNC_REASON_NONE
DORESYNCREASONS BOOLEAN FALSE
 Resync Action Constants
RESYNC_ACTION_ADD NUMBER 1
RESYNC_ACTION_DROP NUMBER 2
RESYNC_ACTION_CHANGE NUMBER 3
RESYNC_ACTION_RECREATE NUMBER 4
RESYNC_ACTION_RENAME NUMBER 5
RESYNC_ACTION_RESIZE NUMBER 6
 Resync Object Constants
RESYNC_OBJECT_TABLESPACE NUMBER 1
RESYNC_OBJECT_DATAFILE NUMBER 2
RESYNC_OBJECT_TEMPFILE NUMBER 3
RESYNC_OBJECT_REDOTHREAD NUMBER 4
RESYNC_OBJECT_ONLINELOG NUMBER 5
RESYNC_OBJECT_PDB NUMBER 6
 Resync Action Names
RESYNC_ACTION_NAMES See Type Definition Below 'added', 'dropped', 'changed',
'recreated', 'renamed', 'resized'
 Levels
RCVCAT_LEVEL_MIN NUMBER 1
RCVCAT_LEVEL_LOW NUMBER 5
RCVCAT_LEVEL_MID NUMBER 9
RCVCAT_LEVEL_HI NUMBER 12
RCVCAT_LEVEL_MAX NUMBER 15
RCVCAT_LEVEL_DEFAULT NUMBER RCVCAT_LEVEL_MID
Data Types TYPE fullResyncActions_t IS RECORD(
active    BOOLEAN,
valid     BOOLEAN,
lastobjno NUMBER,
objtype   NUMBER,
actTaken  resyncActionTaken_t,
actCount  resyncActionCounts_t);

fullResyncAction fullResyncActions_t; -- :=
-- fullResyncActions_t(FALSE, FALSE, -1, NULL,
-- RESYNC_ACTION_TAKEN_NONE,
-- RESYNC_ACTION_COUNTS_ZERO);


TYPE registerDbPending_t IS RECORD (
dbid number   := NULL,
con_id number := NULL,
guid raw(16)  := NULL);

registerDbPending registerDbPending_t;

TYPE resyncActionNames_t IS VARRAY(6) OF VARCHAR2(12);

RESYNC_ACTION_NAMES CONSTANT resyncActionNames_t :=
resyncActionNames_t('added', 'dropped',
                    'changed', 'recreated',
                    'renamed', 'resized');

TYPE resyncActionTaken_t IS VARRAY(6) OF BOOLEAN;

TYPE resyncActionCounts_t IS VARRAY(6) OF NUMBER;

TYPE resyncActionObjects_t IS VARRAY(5) OF VARCHAR2(16);

TYPE guidTab_t IS TABLE OF RAW(16)            INDEX BY BINARY_INTEGER;
TYPE numberTab_t IS TABLE OF NUMBER           INDEX BY BINARY_INTEGER;
TYPE varchar2Tab_t IS TABLE OF VARCHAR2(4000) INDEX BY BINARY_INTEGER; 
TYPE varchar2sTab_t IS TABLE OF VARCHAR2(256) INDEX BY BINARY_INTEGER; 
TYPE dateTab_t IS TABLE OF DATE               INDEX BY BINARY_INTEGER; 
TYPE booleanTab_t IS TABLE OF BOOLEAN         INDEX BY BINARY_INTEGER; 
TYPE pls_intTab_t IS TABLE OF PLS_INTEGER     INDEX BY BINARY_INTEGER;
Dependencies SELECT name FROM dba_dependencies WHERE referenced_name = 'DBMS_RCVCAT' UNION
SELECT referenced_name FROM dba_dependencies WHERE name = 'DBMS_RCVCAT' ORDER BY 1;


Returns 151 objects
Documented No
Exceptions
Error Code Reason
ORA-20525 Catalog schema is not multitenant enabled
ORA-20999 Invalid tenant csi or prefix no data found (get_tenant_key)
ORA-20999 Not a valid VPC user
First Available Not known
Security Model Owned by SYS with EXECUTE granted to PUBLIC
Source {$ORACLE_HOME}/rdbms/admin/recover.bsq
CREATE USER c##rmandadmin
IDENTIFIED BY ...
DEFAULT TABLESPACE uwdata
TEMPORARY TABLESPACE temp
QUOTA UNLIMITED ON uwdata;

GRANT recovery_catalog_owner TO rmanadmin;

SQL> host
[oracle@localhost ~]$ rman target / catalog c##rmanadmin@pdbdev

Recovery Manager: Release 23.0.0.0.0 - Production on Sun Oct 12 17:21:48 2025
Version 23.8.0.25.04

Copyright (c) 1982, 2025, Oracle and/or its affiliates. All rights reserved.

connected to target database: FREE (DBID=1472724728)
recovery catalog database Password:
connected to recovery catalog database


RMAN> CREATE CATALOG;
create catalog;
recovery catalog created


RMAN> REGISTER DATABASE;
register database;
database registered in recovery catalog
Creating and using snapshot control file for resync
starting full resync of recovery catalog
full resync complete


RMAN> exit
Subprograms
ADDDBIDTOIMPORT ENDDATAFILERESYNCFORSTANDBY
ADDTIMEZONE ENDDELETEDOBJECTRESYNC
ADD_DB ENDGUARANTEEDRPRESYNC
ASSERT_TENANT_USER ENDINCARNATIONRESYNC
BEGINARCHIVEDLOGRESYNC ENDLOGHISTORYRESYNC
BEGINBACKUPCORRUPTIONRESYNC ENDOFFLINERANGERESYNC
BEGINBACKUPDATAFILERESYNC ENDONLINEREDOLOGRESYNC
BEGINBACKUPPIECERESYNC ENDPLUGGABLEDBINCRESYNC
BEGINBACKUPREDOLOGRESYNC ENDPLUGGABLEDBRESYNC
BEGINBACKUPSETRESYNC ENDPROXYRESYNC
BEGINBACKUPSPFILERESYNC ENDRESTOREPOINTRESYNC
BEGINBLOCKCORRUPTIONRESYNC ENDRMANOUTPUTRESYNC
BEGINCKPT ENDRMANSTATUSRESYNC
BEGINCONFIGRESYNC ENDTABLESPACERESYNC
BEGINCONFIGRESYNC2 ENDTEMPFILERESYNC
BEGINCOPYCORRUPTIONRESYNC ENDTEMPFILERESYNCFORSTANDBY
BEGINDATAFILECOPYRESYNC ENDTHREADRESYNC
BEGINDATAFILERESYNC FINICLIENTTYPE
BEGINDATAFILERESYNCFORSTANDBY GETAMTSTLEVEL
BEGINDELETEDOBJECTRESYNC GETCATALOGVERSION
BEGINGUARANTEEDRPRESYNC GETCLONENAME
BEGININCARNATIONRESYNC GETCLONENAME_
BEGINLOGHISTORYRESYNC GETCONFIG
BEGINOFFLINERANGERESYNC GETCURRENTRECONCILEVERSION
BEGINONLINEREDOLOGRESYNC GETDBID
BEGINPLUGGABLEDBINCRESYNC GETDBINC
BEGINPLUGGABLEDBRESYNC GETLINE
BEGINPROXYRESYNC GETLOGHISTORYLOWSCN
BEGINRESTOREPOINTRESYNC GETPACKAGEVERSION
BEGINRMANOUTPUTRESYNC GETPOLLEDREC
BEGINRMANSTATUSRESYNC GETREASON
BEGINTABLESPACERESYNC GETRESYNCACTIONS
BEGINTEMPFILERESYNC GETSCRIPT
BEGINTEMPFILERESYNCFORSTANDBY GETSCRIPTNAMES
BEGINTHREADRESYNC GETTHISSITEKEY
BSSTATUSRECALC GETVALUEFROMCONFIG
CANCELCKPT GETXMLFILEATTR
CHANGEARCHIVEDLOG GET_BUCKET
CHANGEBACKUPPIECE GET_CSI_USING_DB_KEY
CHANGEBACKUPSET GET_CSI_USING_TENANT_KEY
CHANGECONTROLFILECOPY GET_CTX_TENANT_CSI
CHANGEDATAFILECOPY GET_CTX_TENANT_KEY
CHANGEPROXYCOPY GET_OBJECT
CHECKARCHIVEDLOG GET_TENANT_KEY
CHECKBACKUPCORRUPTION GET_TENANT_KEY_USING_DB_KEY
CHECKBACKUPDATAFILE GRANT_CATALOG
CHECKBACKUPPIECE GRANT_DB_ACCESS
CHECKBACKUPREDOLOG GRANT_REGISTER
CHECKBACKUPSET IMPORTSCHEMA
CHECKBACKUPSPFILE INCRESYNCACTIONS
CHECKBLOCKCORRUPTION INITCLIENTTYPE
CHECKCOPYCORRUPTION ISAMSCHEMA
CHECKDATAFILE ISDUPLICATERECORD
CHECKDATAFILECOPY ISROUTDUPLICATERECORD
CHECKDATAFILEFORSTANDBY IS_REPTEN_USER
CHECKDATAFILEFORSTANDBY_ IS_TENANT_GVPC
CHECKDATAFILE_ LASTFULLCKPT
CHECKDELETEDOBJECT LISTSCRIPTNAMES
CHECKGUARANTEEDRP LOCKDBIDTOIMPORT
CHECKINCARNATION LOCKFORCKPT
CHECKLOGHISTORY LOCKTEMPRESOURCE
CHECKOFFLINERANGE LOG_DIAG_MESG
CHECKOFFLINERANGE_ LOG_FIX_MESG
CHECKONLINEREDOLOG PDBUNDOTORESYNC
CHECKPLUGGABLEDB PUTLINE
CHECKPLUGGABLEDBINC PUT_BUCKET
CHECKPLUGGABLEDBINC_ PUT_OBJECT
CHECKPLUGGABLEDB_ READBACKUPSECTIONS
CHECKPROXYARCHIVEDLOG READFIXEDSECTIONS
CHECKPROXYDATAFILE READXMLFILE
 CHECKRESTOREPOINT REGISTERDATABASE
CHECKRMANOUTPUT REGISTER_TENANT
CHECKRMANOUTPUT_ REGISTER_TENANT_USER
CHECKRMANSTATUS RENAMESITE
CHECKTABLESPACE RENORMALIZE
CHECKTABLESPACE_ REPLACESCRIPT
CHECKTEMPFILE RESETCONFIG
CHECKTEMPFILEFORSTANDBY RESETCONFIG2
CHECKTEMPFILEFORSTANDBY_ RESETDATABASE
CHECKTEMPFILE_ RESYNCADDDBUNAME
CHECKTHREAD REVOKE_ALL
CKPTNEEDED REVOKE_CATALOG
CLEANUPTEMPRESOURCE REVOKE_DB_ACCESS
CLEARRESYNCACTIONS REVOKE_REGISTER
CLEARUNARCHIVEDLOGS RSCLEANUPROUT
COMMITCHANGES RSDELETEALLBACKUP
CREATESCRIPT RSDELETEBACKUPPIECE
CREATETEMPRESOURCE RSWRITEWATERMARKS
CREATEXMLFILE SANITYCHECK
CREATE_VIRTUAL_CATALOG SETARCHIVEFILESCOPEATTRIBUTES
DEB SETBACKUPFILESCOPEATTRIBUTES
DEBOK SETCLONENAME
DELETECONFIG SETCONFIG
DELETECONFIG3 SETCONFIG2
DELETESCRIPT SETCONFIG3
DELETEXMLFILE SETDATABASE
DELETE_BUCKET SETDATAFILESIZE
DELETE_DB SETDEBUGOFF
DELETE_OBJECT SETDEBUGON
DISCONNECTFROMCATALOG SETFULLRESYNCFIRSTCHECK
DODUPLICATEMINING SETFULLRESYNCTHRESHOLDSECS
DOREPLICATIONRECONCILE SETKEEPOUTPUTFORSESSION
DROP_VIRTUAL_CATALOG SETL0ROWVALUES
DUMPPKGSTATE SETREASON
DUMPRESYNCACTIONS SETSAVEPOINT
ENABLERESYNCACTIONS SETUPVPD
ENDARCHIVEDLOGRESYNC SET_TENANT_KEY
ENDBACKUPCORRUPTIONRESYNC TEMPFILETORESYNC
ENDBACKUPDATAFILERESYNC THROTTLE_ME
ENDBACKUPPIECERESYNC UNREGISTERDATABASE
ENDBACKUPREDOLOGRESYNC UNREGISTERSITE
ENDBACKUPSETRESYNC UNREGISTER_TENANT
ENDBACKUPSPFILERESYNC UNREGISTER_TENANT_USER
ENDBLOCKCORRUPTIONRESYNC UPDATEOLDESTFLASHBACKSCN
ENDCKPT UPDATERMANSTATUSROW
ENDCONFIGRESYNC UPDATEXMLFILE
ENDCONFIGRESYNC2 UPDATE_TENANT
ENDCOPYCORRUPTIONRESYNC WRITEBACKUPSECTIONS
ENDDATAFILECOPYRESYNC WRITEFIXEDSECTIONS
ENDDATAFILERESYNC  
 
ADD_DB
Stores a support CSI number in the RMAN catalog

The demo failure is likely indicative of this being run on a stand-alone laptop without a connection to Oracle Support whereby the CSI could be confirmed
dbms_rcvcat.add_db(
db_unique_name IN VARCHAR2,
csi            IN NUMBER);
conn rmanadmin/pdbdev
Password:

col status format a6

SELECT tenant_key, csi, name, status FROM tenant;

TENANT_KEY        CSI NAME                           STATUS
---------- ---------- ------------------------------ ------
         0          0 DEFAULT_TENANT                 E
         1          1 REP_TENANT                     E


show parameter unique

NAME                                 TYPE        VALUE
------------------------------------ ----------- -----------
db_unique_name                       string      FREE


exec rmanadmin.dbms_rcvcat.add_db('FREE', 22358645);
     *
ORA-20999: Invalid tenant csi or prefix no data found (get_tenant_key)
 
ASSERT_TENANT_USER
Undocumented dbms_rcvcat.assert_tenant_user(
p_user                    IN VARCHAR2,
p_csi                     IN NUMBER  DEFAULT 0,
p_err_on_nouser           IN BOOLEAN DEFAULT TRUE);
exec rmanadmin.dbms_rcvcat.assert_tenant_user(USER);
     *
ORA-20999: Not a valid VPC user
 
BEGINCKPT
Begin Checkpoint dbms_rcvcat.beginCkpt(
ckp_scn       IN NUMBER,
ckp_cf_seq    IN NUMBER,
cf_version    IN DATE,
ckp_time      IN DATE,
ckp_type      IN VARCHAR2,
ckp_db_status IN VARCHAR2,
high_df_recid IN NUMBER,
cf_type       IN VARCHAR2);
TBD
 
CHECKBLOCKCORRUPTION
Undocumented dbms_rcvcat.checkBlockCorruption(
bcr_recid       IN NUMBER,
bcr_stamp       IN NUMBER,
file#           IN NUMBER,
create_scn      IN NUMBER,
create_time     IN DATE,
block#          IN NUMBER,
blocks          IN NUMBER,
corrupt_scn     IN NUMBER,
corruption_type IN VARCHAR2);
TBD
 
CHECKRMANOUTPUT
Undocumented dbms_rcvcat.checkRMANOutput(
recid             IN NUMBER,
stamp             IN NUMBER,
session_recid     IN NUMBER,
session_stamp     IN NUMBER,
rman_status_recid IN NUMBER,
rman_status_stamp IN NUMBER,
output            IN VARCHAR2);
TBD
 
CHECKRMANSTATUS
Undocumented dbms_rcvcat.checkRMANStatus(
recid            IN NUMBER,
stamp            IN NUMBER,
parent_recid     IN NUMBER,
parent_stamp     IN NUMBER,
row_level        IN NUMBER,
row_type         IN VARCHAR2,
command_id       IN VARCHAR2,
operation        IN VARCHAR2,
status           IN VARCHAR2,
mbytes_processed IN NUMBER,
start_time       IN DATE,
end_time         IN DATE,
ibytes           IN NUMBER,
obytes           IN NUMBER,
optimized        IN VARCHAR2,
otype            IN VARCHAR2,
session_recid    IN NUMBER, 
session_stamp    IN NUMBER,
odevtype         IN VARCHAR2,
osb_allocated    IN VARCHAR2);
TBD
 
COMMITCHANGES
Execute a commit dbms_rcvcat.commitChanges;
exec rmanadmin.dbms_rcvcat.commitChanges;

PL/SQL procedure successfully completed.
 
CREATESCRIPT
Create an RMAN script

Overload 1
dbms_rcvcat.createScript(name IN VARCHAR2);
SQL> conn c##rmanadmin/rmanadmin
Connected.

SQL> exec dbms_rcvcat.setDatabase;

PL/SQL procedure successfully completed.

SQL> exec c##rmanadmin.dbms_rcvcat.createScript('RMANSCRIPT');

PL/SQL procedure successfully completed.

SQL> exec c##rmanadmin.dbms_rcvcat.putLine('This is a test');

PL/SQL procedure successfully completed.

SQL> exec c##rmanadmin.dbms_rcvcat.deleteScript('RMANSCRIPT');

PL/SQL procedure successfully completed.
Overload 2 dbms_rcvcat.createScript(
name    IN VARCHAR2,
scr_com IN VARCHAR2,
global  IN BOOLEAN);
TBD
 
CREATEXMLFILE
Undocumented dbms_rcvcat.createXMLFile(
name        IN VARCHAR2,
name_tag    IN VARCHAR2,
xmldoc      IN CLOB,
doctype     IN VARCHAR2,
xml_comment IN VARCHAR2,
schema_ver  IN VARCHAR2);
TBD
 
CREATE_VIRTUAL_CATALOG
Create the virtual RMAN catalog dbms_rcvcat.create_virtual_catalog;
exec dbms_rcvcat.create_virtual_catalog;

PL/SQL procedure successfully completed.
 
DEB
Debugging function dbms_rcvcat.deb(
line        IN VARCHAR2,
level       IN NUMBER   DEFAULT RCVCAT_LEVEL_DEFAULT,
prefix_msg1 IN VARCHAR2 DEFAULT 'RCVCAT: ',
prefix_msg2 IN VARCHAR2 DEFAULT 'DBGRCVCAT: ');
exec dbms_rcvcat.deb('catalog schema is multitenant enabled');

PL/SQL procedure successfully completed.
 
DELETE_DB
Deletes a support CSI number in the RMAN catalog dbms_rcvcat.delete_db(
db_unique_name IN VARCHAR2,
csi            IN NUMBER);
exec dbms_rcvcat.delete_db('FREE', 22358645);
     *
ORA-20999: Invalid tenant csi or prefix no data found (get_tenant_key)
 
DROP_VIRTUAL_CATALOG
Drop the virtual RMAN catalog dbms_rcvcat.drop_virtual_catalog;
exec dbms_rcvcat.drop_virtual_catalog;

PL/SQL procedure successfully completed.
 
GETAMTSTLEVEL
Undocumented dbms_rcvcat.getAMTSTLevel
SELECT dbms_rcvcat.getAMTSTLevel;

GETAMTSTLEVEL
-------------
            0
 
GETCATALOGVERSION
Returns the database version of the RMAN catalog dbms_rcvcat.getCatalogVersion RETURN VARCHAR2;
conn c##rmanadmin/rmanadmin
Connected.

SELECT rmanadmin.dbms_rcvcat.getCatalogVersion;

GETCATALOGVERSION
------------------
23.08.00.00.00
 
GETCLONENAME
Undocumented dbms_rcvcat.getCloneName(
file#            IN NUMBER,
creation_change# IN NUMBER,
plugin_change#   IN NUMBER)
RETURN VARCHAR2;
TBD
 
GETCONFIG
Undocumented dbms_rcvcat.getConfig(
conf# OUT NUMBER,
name  IN  OUT VARCHAR2,
value IN  OUT VARCHAR2,
first IN  BOOLEAN);
TBD
 
GETDBID
Returns the catalog database's DBID dbms_rcvcat.getDBID RETURN NUMBER;
exec rmanadmin.dbms_rcvcat.setDatabase;

PL/SQL procedure successfully completed.

SELECT rmanadmin.dbms_rcvcat.getDBID;

   GETDBID
----------
2140826538
 
GETDBINC
  dbms_rcvcat.getDBInc RETURN NUMBER;
exec rmanadmin.dbms_rcvcat.setDatabase;

PL/SQL procedure successfully completed.

SELECT dbms_rcvcat.getDBInc;

 GETDBINC
---------
        2
 
GETLINE
Returns a line following a getScript dbms_rcvcat.getLine RETURN VARCHAR2;
SELECT rmanadmin.dbms_rcvcat.getLine;
       *
ORA-20403: getScript not done
 
GETLOGHISTORYLOWSCN
Returns the lowest SCN from a catalog resync dbms_rcvcat.getLogHistoryLowSCN RETURN NUMBER;
SELECT rmanadmin.dbms_rcvcat.getLogHistoryLowSCN;
       *
ORA-20031: Resync not started
 
GETPACKAGEVERSION
Returns the internal version numer of, most likely, the DBMS_RCVCAT package dbms_rcvcat.getPackageVersion RETURN VARCHAR2;
SELECT rmanadmin.dbms_rcvcat.getPackageVersion;

GETPACKAGEVERSION
-------------------
08.00.04.00.0
 
GETSCRIPT
Undocumented
Overload 1
dbms_rcvcat.getScript(name IN VARCHAR2);
TBD
Overload 2 dbms_rcvcat.getScript(
name IN VARCHAR2,
glob IN NUMBER);
TBD
 
GETSCRIPTNAMES
Undocumented dbms_rcvcat.getScriptNames(
dbname OUT VARCHAR2,
scnm   OUT VARCHAR2,
sccom  OUT VARCHAR2);
exec dbms_rcvcat.listScriptNames(1, 1);

DECLARE
 a VARCHAR2(30);
 b VARCHAR2(30);
 c VARCHAR2(30);
BEGIN
  dbms_rcvcat.getScriptNames(a, b, c);
  dbms_output.put_line(a);
  dbms_output.put_line(b);
  dbms_output.put_line(c);
END;
/
*
ORA-01403: no data found
 
GETTHISSITEKEY
Undocumented dbms_rcvcat.getThisSiteKey(db_unique_name IN VARCHAR2) RETURN NUMBER;
SELECT value
FROM v$parameter
WHERE name = 'db_unique_name';

VALUE
----------------
FREE


SELECT dbms_rcvcat.GetThisSiteKey('FREE');

DBMS_RCVCAT.GETTHISSITEKEY('FREE')
---------------------------------------------
                                            3
 
GET_CSI_USING_DB_KEY
Returns the Support CSI number based on the database key dbms_rcvcat.get_csi_using_db_key(db_key IN NUMBER) RETURN NUMBER;
TBD
 
GET_CSI_USING_TENANT_KEY
Returns the Support CSI number based on the tenant key dbms_rcvcat.get_csi_using_tenant_key(tenant_key IN NUMBER) RETURN NUMBER;
TBD
 
GET_OBJECT
Undocumented dbms_rcvcat.get_object(
bktname IN VARCHAR2,
objname IN VARCHAR2,
parms   IN VARCHAR2)
RETURN CLOB;
TBD
 
GET_TENANT_KEY
Returns the tenant key based on the CSI number dbms_rcvcat.get_tenant_key(
csi    IN NUMBER   DEFAULT 0,
prefix IN VARCHAR2 DEFAULT NULL)
RETURN NUMBER;
SELECT dbms_rcvcat.get_tenant_key;

GET_TENANT_KEY
--------------
             0
 
GRANT_CATALOG
Grant privileges on the virtual private catalog

Overload 1
dbms_rcvcat.grant_catalog(
userid  IN VARCHAR2,
db_name IN VARCHAR2);
exec dbms_rcvcat.grant_catalog('RMANADMIN', 'FREE');
     *
ORA-20153: recovery catalog does not have VPD support enabled!

exec dbms_rcvcat.revoke_catalog('RMANADMIN', 'FREE');
     *
ORA-20153: recovery catalog does not have VPD support enabled!
Overload 2 dbms_rcvcat.grant_catalog(
userid             IN VARCHAR2,
dbid               IN NUMBER,
reg_db_unique_name IN VARCHAR2);
TBD
 
GRANT_DB_ACCESS
Undocumented dbms_rcvcat.grant_db_access(
userid         IN VARCHAR2,
db_unique_name IN VARCHAR2,
csi            IN NUMBER);
exec dbms_rcvcat.grant_db_access(USER, 'FREE', 22358645);
 
GRANT_REGISTER
Undocumented dbms_rcvcat.grant_register(userid IN VARCHAR2);
exec rmanadmin.dbms_rcvcat.grant_register('ZZYZX');
     *
ORA-20022: user ZZYZX not found


exec dbms_rcvcat.grant_register('UWCLASS');

exec dbms_rcvcat.revoke_register('UWCLASS');
 
LASTFULLCKPT
Undocumented dbms_rcvcat.lastFullCkpt RETURN NUMBER;
SELECT rmanadmin.dbms_rcvcat.lastFullCkpt;

LASTFULLCKPT
------------
 
 
LISTSCRIPTNAMES
Undocumented dbms_rcvcat.listScriptNames(
glob     IN NUMBER,
allnames IN NUMBER);
See GETSCRIPTNAMES Demo Above
 
LOCKDBIDTOIMPORT
Undocumented dbms_rcvcat.lockDBIdToImport(idb IN VARCHAR2);
TBD
 
LOCKFORCKPT
Undocumented dbms_rcvcat.lockForCkpt(orsinspect IN BOOLEAN);
exec rmanadmin.dbms_rcvcat.lockForCkpt(TRUE);

PL/SQL procedure successfully completed.
 
LOCKTEMPRESOURCE
Undocumented dbms_rcvcat.lockTempResource
name      IN VARCHAR2,
data_type IN VARCHAR2,
RETURN BOOLEAN;
TBD
 
LOG_DIAG_MESG
Undocumented dbms_rcvcat.log_diag_mesg(
input_msg         IN VARCHAR2,
param_char        IN VARCHAR2 DEFAULT NULL,
p_diag_param_char IN VARCHAR2 DEFAULT NULL);
exec rmanadmin.dbms_rcvcat.log_diag_mesg('Test Diagnostic Msg');
     *
PLS-00201: identifier 'DBMS_RA_SCHEDULER.SEVERITY_DIAG_RECONCILE' must be declared
 
LOG_FIX_MESG
Undocumented dbms_rcvcat.log_fix_mesg(
param_char        IN VARCHAR2 DEFAULT NULL,
p_diag_param_char IN VARCHAR2 DEFAULT NULL);
TBD
 
PUTLINE
Undocumented dbms_rcvcat.putline(line IN VARCHAR2);
See CREATESCRIPT Procedure Above
 
REGISTERDATABASE
The recovery catalog can store information about many target databases. A target database must be registered before any information about it can be recorded in the recovery catalog. dbms_rcvcat.registerDatabase(
db_id          IN NUMBER
db_name        IN VARCHAR2
reset_scn      IN NUMBER
reseet_time    IN DATE
db_unique_name IN VARCHAR2
con_id         IN NUMBER
guid           IN RAW);
TBD
 
RENAMESITE
Renames the metadata stored in recovery catalog for the given standby node dbms_rcvcat.renameSite(
from_db_unique_name IN VARCHAR2
to_db_unique_name   IN VARCHAR2);
exec dbms_rcvcat.renameSite('orabase' orabase2');
 
REVOKE_ALL
Undocumented
Overload 1
dbms_rcvcat.revoke_all(userid IN VARCHAR2);
exec dbms_rcvcat.revoke_all('UWCLASS');
 
REVOKE_CATALOG
Undocumented

Overload 1
dbms_rcvcat.revoke_catalog(
userid  IN VARCHAR2,
db_name IN VARCHAR2);
See GRANT_CATALOG Demo Above
Overload 2 dbms_rcvcat.revoke_catalog(
userid             IN VARCHAR2,
dbid               IN NUMBER,
reg_db_unique_name IN VARCHAR2);
TBD
 
REVOKE_DB_ACCESS
Undocumented dbms_rcvcat.revoke_db_access(
userid         IN VARCHAR2,
db_unique_name IN VARCHAR2,
csi            IN NUMBER);
TBD
 
REVOKE_REGISTER
Undocumented dbms_rcvcat.revoke_register(userid IN VARCHAR2);
See GRANT_REGISTER Demo Above
 
SANITYCHECK
Undocumented dbms_rcvcat.sanityCheck;
exec dbms_rcvcat.setDatabase;

exec dbms_rcvcat.sanityCheck;
 
SETDATABASE
Change set control file attributes of remote db_unique_name site

Overload 1
dbms_rcvcat.setDatabase(
db_name        IN VARCHAR2,
reset_scn      IN NUMBER,
reset_time     IN DATE,
db_id          IN NUMBER,
db_unique_name IN VARCHAR2,
dummy_instance IN BOOLEAN,
cf_type        IN NUMBER,
site_aware     IN BOOLEAN,
ors_instance   IN BOOLEAN);
DECLARE
 db_name    VARCHAR2(9);
 reset_scn  NUMBER;
 reset_time DATE;
 db_id      NUMBER;
 db_uniq    VARCHAR2(30);
 dummy_inst BOOLEAN := FALSE;
 ub4_cf     PLS_INTEGER := 1;   -- control file: 1= current, 4 = standby
 s_aware    BOOLEAN := TRUE;
BEGIN
  SELECT db.dbid, db.name, dbinc.resetlogs_change#, dbinc.resetlogs_time,
         DECODE(db.controlfile_type, 'CURRENT', 1, 4),
         UPPER(db.db_unique_name)
    INTO db_id, db_name, reset_scn, reset_time, ub4_cf, db_uniq
    FROM v$database db, v$database_incarnation dbinc
   WHERE dbinc.status = 'CURRENT';
/*
  dbms_rcvcat.setDatabase(db_name        => db_name,
                          reset_scn      => reset_scn,
                          reset_time     => reset_time,
                          db_id          => db_id,
                          db_unique_name => db_uniq,
                          dummy_instance => FALSE,
                          cf_type        => ub4_cf,
                          site_aware     => TRUE); */
END;
/
Overload 2 dbms_rcvcat.setDatabase(
db_name        IN VARCHAR2,
reset_scn      IN NUMBER,
reset_time     IN DATE,
db_id          IN NUMBER,
db_unique_name IN VARCHAR2);
TBD
Overload 3 dbms_rcvcat.setDatabase(dbinckey IN NUMBER);
exec dbms_rcvcat.setDatabase(2);
Overload 4 dbms_rcvcat.setDatabase;
exec dbms_rcvcat.setDatabase;
 
SETDEBUGOFF
Disable debug mode dbms_rcvcat.setDebugOff;
exec dbms_rcvcat.setDebugOff;
 
SETDEBUGON
Enable debug mode dbms_rcvcat.serDebugOn(dbglevel IN NUMBER DEFAULT RCVCAT_LEVEL_DEFAULT);
exec dbms_rcvcat.setDebugOn;
 
SET_TENANT_KEY
Undocumented dbms_rcvcat.set_tenant_key(
csi   IN  NUMBER,
tkey  OUT NUMBER,
cname OUT VARCHAR2);
DECLARE
 keyVal NUMBER;
 namVal dbms_id;
BEGIN
  dbms_rcvcat.set_tenant_key(22358645, keyVal, namVal);
  dbms_output.put_line(TO_CHAR(keyVal));
  dbms_output.put_line(namVal);
END;
/
*
ORA-20525: catalog schema is not multitenant enabled
 
THROTTLE_ME
Undocumented dbms_rcvcat.throttle_me(
p_oam_job_id    IN  VARCHAR2,
p_channels_reqd IN  NUMBER,
p_request_time  IN  DATE,
o_wait          OUT BOOLEAN,
o_error_str     OUT VARCHAR2);
TBD
 
UNREGISTERDATABASE
Unregister a database from the RMAN catalog

Overload 1
dbms_rcvcat.unregisterDatabase(
db_key IN NUMBER DEFAULT NULL,
db_id  IN NUMBER);
TBD
Overload 2 dbms_rcvcat.unregisterDatabase(idb IN VARCHAR2)
TBD
 
UNREGISTER_TENANT
Revokes a tenant registration dbms_rcvcat.unregister_tenant(
csi   IN NUMBER,
cname IN VARCHAR2);
TBD
 
UNREGISTER_TENANT_USER
Revokes privileges to a tenant user dbms_rcvcat.unregister_tenant_user(
userid IN VARCHAR2,
csi    IN NUMBER);
TBD
 
UPDATE_TENANT
Updates tenant information dbms_rcvcat.update_tenant(
csi       IN NUMBER,
cname     IN VARCHAR2,
status    IN VARCHAR2,  -- valid values D, E, N, R, S, T
group_vpc IN VARCHAR2 DEFAULT NULL);
exec dbms_rcvcat.update_tenant(22358645, 'FREE', 'E');
     *
ORA-20525: catalog schema is not multitenant enabled

Related Topics
Backup & Recovery
Built-in Functions
Built-in Packages
DBMS_BACKUP_RESTORE
DBMS_RA_DUMP
DBMS_RCVMAN
DBMS_RCVVPC
RMAN
RMAN Demos
What's New In 21c
What's New In 26ai

Morgan's Library Page Footer
This site is maintained by Daniel Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2026 Daniel A. Morgan All Rights Reserved