General Information
Library Note
Morgan's Library Page Header
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