ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
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
TRUE#
NUMBER
1
FALSE#
NUMBER
0
UPGRADE_COMPLETED
NUMBER
1
RESYNC_FULL
NUMBER
1
RESYNC_PARTIAL
NUMBER
2
RESYNC_NONE
NUMBER
3
CONFIGRESYNC_NO
NUMBER
0
CONFIGRESYNC_TORC
NUMBER
1
CONFIGRESYNC_TORF
NUMBER
2
CONFIGRESYNC_TORC_TOCF
NUMBER
3
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
THIS_DB_KEY
NUMBER
NULL
THIS_DBINC_KEY
NUMBER
NULL
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
NUMBER
RESYNC_REASON_NONE
DORESYNCREASONS
BOOLEAN
FALSE
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_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
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);
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 test21db_iad25g
exec rmanadmin.dbms_rcvcat.add_db('test21db_iad25g', 22358645);
BEGIN rmanadmin.dbms_rcvcat.add_db('test21db_iad25g', 22358645); END;
*
ERROR at line 1:
ORA-20999: Invalid tenant csi or prefix no data found (get_tenant_key)
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 3339
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 3814
ORA-06512: at line 1
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);
BEGIN dbms_rcvcat.assert_tenant_user(USER); END;
*
ERROR at line 1:
ORA-20999: Not a valid VPC user
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 3371
ORA-06512: at line 1
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);
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);
dbms_rcvcat.checkRMANOutput(
recid IN NUMBER,
stamp IN NUNBER,
session_recid IN NUMBER,
session_stamp IN NUMBER,
rman_status_recid IN NUMBER,
rman_status_stamp IN NUMBER,
output IN VARCHAR2);
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);
dbms_rcvcat.createXMLFile(
name IN VARCHAR2,
name_tag IN VARCHAR2,
xmldoc IN CLOB,
doctype IN VARCHAR2,
xml_comment IN VARCHAR2,
schema_ver IN VARCHAR2);
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');
dbms_rcvcat.delete_db(
db_unique_name IN VARCHAR2,
csi IN NUMBER);
exec dbms_rcvcat.delete_db('test21db_iad25g', 22358645);
BEGIN dbms_rcvcat.delete_db('test21db_iad25g', 22358645); END;
*
ERROR at line 1:
ORA-20999: Invalid tenant csi or prefix no data found (get_tenant_key)
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 3339
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 3853
ORA-06512: at line 1
SELECT rmanadmin.dbms_rcvcat.getLogHistoryLowSCN
FROM dual;
*
ERROR at line 1:
ORA-20031: Resync not started
ORA-06512: at "C##RMANADMIN.DBMS_RCVCAT", line 1037
ORA-06512: at "C##RMANADMIN.DBMS_RCVCAT", line 5201
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;
/
*
ERROR at line 1:
ORA-01403: no data found
ORA-06512: at "C##RMANADMIN.DBMS_RCVCAT", line 10635
ORA-06512: at line 6
dbms_rcvcat.grant_catalog(
userid IN VARCHAR2,
db_name IN VARCHAR2);
exec dbms_rcvcat.grant_catalog('RMANADMIN', 'TEST21DB');
BEGIN dbms_rcvcat.grant_catalog('RMANADMIN', 'TEST21DB'); END;
*
ERROR at line 1:
ORA-20153: recovery catalog does not have VPD support enabled!
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 19706
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 19813
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 19795
ORA-06512: at line 1
exec dbms_rcvcat.revoke_catalog('RMANADMIN', 'TEST21DB');
BEGIN dbms_rcvcat.revoke_catalog('RMANADMIN', 'TEST21DB'); END;
*
ERROR at line 1:
ORA-20153: recovery catalog does not have VPD support enabled!
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 19962
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 19944
ORA-06512: at line 1
Overload 2
dbms_rcvcat.grant_catalog(
userid IN VARCHAR2,
dbid IN NUMBER,
reg_db_unique_name IN VARCHAR2);
exec rmanadmin.dbms_rcvcat.grant_register('ZZYZX');
*
ERROR at line 1:
ORA-20022: user ZZYZX not found
ORA-06512: at "C##RMANADMIN.DBMS_RCVCAT", line 12455
ORA-06512: at "C##RMANADMIN.DBMS_RCVCAT", line 12505
ORA-06512: at line 1
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');
BEGIN dbms_rcvcat.log_diag_mesg('Test Diagnostic Msg'); END;
*
ERROR at line 1:
ORA-06550: line 5, column 25:
PLS-00201: identifier 'DBMS_RA_SCHEDULER.SEVERITY_DIAG_RECONCILE' must be declared
ORA-06550: line 1, column 8:
PL/SQL: Statement ignored
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 20666
ORA-06512: at line 1
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);
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);
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;
/
DECLARE
*
ERROR at line 1:
ORA-20525: catalog schema is not multitenant enabled
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 26120
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 3458
ORA-06512: at line 5
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, 'test21db_iad25g', 'E');
*
ERROR at line 1:
ORA-20525: catalog schema is not multitenant enabled
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 26120
ORA-06512: at "RMANADMIN.DBMS_RCVCAT", line 3650
ORA-06512: at line 1