B RMAN Command Examples Quick Reference

This appendix provides a few examples for commonly used RMAN commands.

Table B-1 Commonly Used RMAN Command Examples

Operation Command Example

CONNECT

Starting and connecting to RMAN

RMAN> TARGET "sbu@prod  AS SYSBACKUP"
AUXILIARY "sbu@dupdb AS SYSBACKUP";


RMAN> CONNECT TARGET "sbu@inst1 AS SYSBACKUP";


RMAN> CONNECT TARGET "sbu@prod AS SYSDBA";


rman target /
rman AUXILIARY SYS/PWD@AUX_STRING


RMAN TARGET "sbu@prod  AS SYSDBA"
AUXILIARY "sbu@dupdb AS SYSDBA";

ALLOCATE CHANNEL

RMAN> ALLOCATE CHANNEL c1 DEVICE TYPE ‘SBT_TAPE’;


RMAN> ALLOCATE CHANNEL c1 DEVICE TYPE DISK
FORMAT ‘c:\oraclebkp\db_u%’;


RMAN> ALLOCATE CHANNEL t1 DEVICE TYPE DISK
CONNECT 'sys/pwd@bkp1’;


RMAN> ALLOCATE CHANNEL c1 DEVICE TYPE ‘SBT_TAPE’
PARMS 'ENV=(OB_MEDIA_FAMILY=wholedb_mf)';


RMAN> ALLOCATE CHANNEL t1 DEVICE TYPE SBT_TAPE
PARMS 'ENV=(OB_DEVICE_1=tape1, OB_DEVICE_2=tape3)';


RMAN> ALLOCATE CHANNEL t1 TYPE 'SBT_TAPE' PARMS='SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so.1';


RMAN> ALLOCATE CHANNEL t1 TYPE 'SBT_TAPE'
SEND "NB_ORA_CLIENT=CLIENT_MACHINE_NAME";


RMAN> ALLOCATE CHANNEL 'dev1' TYPE 'SBT_TAPE'
PARMS 'ENV=OB2BARTYPE=ORACLE8, OB2APPNAME=ORCL, OB2BARLIST=MACHINENAME_ORCL_ARCHLOGS)';


RMAN> ALLOCATE CHANNEL y1 TYPE DISK RATE 70M;


RMAN> ALLOCATE AUXILIARY CHANNEL ac1 TYPE DISK;


RMAN> ALLOCATE AUXILIARY CHANNEL ac2
DEVICE TYPE SBT;

To simulate SBT_TAPE with Oracle internal API

The internal API accepts sbt calls just as any media library. The output is redirected to BACKUP_DIR.

RMAN> ALLOCATE CHANNEL t1
DEVICE TYPE sbt PARMS='sbt_library=oracle.disksbt,
ENV=(backup_dir=/tmp)';

ALLOCATE CHANNEL FOR MAINTENANCE

RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;


RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK FORMAT "/disk2/%U";

See: formatSpec for RMAN substitution variables.


RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK CONNECT '@test1';


RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt;


RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE sbt PARMS 'SBT_LIBRARY=/usr/local/oracle/backup/lib/libobk.so, ENV=(OB_DEVICE_1=tape2)';


RMAN> ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE 'SBT_TAPE' PARMS='SBT_LIBRARY=ORACLE.DISKSBT, ENV=(BACKUP_DIR=/TMP)';

BACKUP

RMAN> BACKUP DATABASE;


RMAN> BACKUP DATABASE TAG=’test backup’;


RMAN> BACKUP TAG 'Weekly_Full_DB_Backup' DATABASE MAXSETSIZE 10M;


RMAN> BACKUP MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG;


RMAN> BACKUP DURATION 00:60 DATABASE;


RMAN> BACKUP DURATION 00:30 MINIMIZE TIME DATABASE;


RMAN> BACKUP DURATION 00:45 MINIMIZE LOAD DATABASE;


RMAN> BACKUP DATABASE PLUS ARCHIVELOG;


RMAN> BACKUP DATABASE KEEP FOREVER;


RMAN> BACKUP DATABASE KEEP UNTIL TIME=’SYSDATE+30’;


RMAN> BACKUP DATABASE UNTIL 'SYSDATE+365' NOLOGS;


RMAN> BACKUP DATABASE NOEXCLUDE;


RMAN> BACKUP DATABASE NOEXCLUDE KEEP FOREVER TAG=’abc’;


RMAN> BACKUP DATABASE SKIP READONLY;


RMAN> BACKUP DATABASE SKIP OFFLINE;


RMAN> BACKUP DATABASE SKIP INACCESSIBLE;


RMAN> BACKUP DATABASE SKIP READONLY SKIP OFFLINE SKIP INACCESSIBLE;

To back up a read-only database regardless of optimization

RMAN> BACKUP DATABASE FORCE;


RMAN> BACKUP DATABASE NOT BACKED UP;


RMAN> BACKUP DATABASE NOT BACKED UP SINCE TIME=’SYSDATE–3’;


RMAN> BACKUP NOT BACKED UP SINCE TIME 'SYSDATE-10'
MAXSETSIZE 500M DATABASE PLUS ARCHIVELOG;


RMAN> BACKUP DATABASE COPIES=2;


RMAN> BACKUP DATABASE FORMAT '/DISK1/BACKUPS/DB_%U.BCK' TAG quarterly KEEP UNTIL TIME 'SYSDATE+365' RESTORE POINT Q1FY12;

See: formatSpec for RMAN substitution variables.


RMAN> BACKUP DEVICE TYPE DISK DATABASE;


RMAN> BACKUP DEVICE TYPE SBT DATABASE PLUS ARCHIVELOG;


RMAN> BACKUP DEVICE TYPE SBT DATAFILECOPY FROM TAG 'Latest'
FORMAT 'DF%F_%D';

See formatSpec for RMAN substitution variables.


RMAN> BACKUP DEVICE TYPE SBT ARCHIVELOG LIKE '/disk%arc%'
DELETE ALL INPUT;


RMAN> BACKUP DEVICE TYPE SBT BACKUPSET COMPLETED BEFORE 'SYSDATE-14'
DELETE INPUT;


RMAN> BACKUP TABLESPACE TEST;


RMAN> BACKUP TABLESPACE SYSTEM, USERS, TOOLS;


RMAN> BACKUP TABLESPACE 4;


RMAN> BACKUP TABLESPACE USERS PLUS ARCHIVELOG;


RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE;


RMAN> BACKUP TABLESPACE USERS INCLUDE CURRENT CONTROLFILE
PLUS ARCHIVELOG;


RMAN> BACKUP TABLESPACE USERS SECTION SIZE 100M;


RMAN> BACKUP SECTION SIZE 250M TABLESPACE USERS;


RMAN> BACKUP DATAFILE 9;


RMAN> BACKUP DATAFILE ‘/U01/DATA/...’;


RMAN> BACKUP DATAFILE 1 PLUS ARCHIVELOG;


RMAN> BACKUP KEEP FOREVER FORMAT '?/DBS/%U_LONGTERM.CPY'
TAG 'Longterm_bck' DATAFILE 1 DATAFILE 2;

See formatSpec for RMAN substitution variables.


RMAN> BACKUP SECTION SIZE 500M DATAFILE 6;


RMAN> BACKUP ARCHIVELOG ALL;


RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;


RMAN> BACKUP ARCHIVELOG LIKE '/arch%' DELETE ALL INPUT;


RMAN> BACKUP ARCHIVELOG FROM TIME ‘SYSDATE–3’;


RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 100;


RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 999 DELETE INPUT;


RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 123 DELETE ALL INPUT;


RMAN> BACKUP ARCHIVELOG FROM SEQUENCE 21531 UNTIL SEQUENCE 21590
FORMAT '/tmp/archive_backup.bkp';


RMAN> BACKUP ARCHIVELOG ALL FROM SEQUENCE 1200 DELETE ALL INPUT;


RMAN> BACKUP CHECK LOGICAL DATABASE;


RMAN> BACKUP ARCHIVELOG NOT BACKED UP 2 TIMES;


RMAN> BACKUP ARCHIVELOG COMPLETION TIME BETWEEN 'SYSDATE-28'
AND 'SYSDATE-7';


RMAN> BACKUP FORMAT='AL_%D/%T/%S/%P' ARCHIVELOG LIKE '%arc_dest%';

See formatSpec for RMAN substitution variables.


RMAN> BACKUP CURRENT CONTROLFILE TO '/backup/cntrlfile.copy';


RMAN> BACKUP CONTROLFILE COPY ‘/u10/backup/control.bkp’;


RMAN> BACKUP SPFILE;


RMAN> BACKUP DEVICE TYPE SBT SPFILE ARCHIVELOG ALL;


RMAN> BACKUP DEVICE TYPE SBT DATAFILECOPY ALL NODUPLICATES;


RMAN> BACKUP RECOVERY FILES;


RMAN> BACKUP PLUGGABLE DATABASE pdb1,pdb2;

Backup - Validate Target

RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE;


RMAN> BACKUP VALIDATE DATABASE;


RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;


RMAN> BACKUP CHECK LOGICAL VALIDATE TABLESPACE DATA;

For bigfile tablespace data files


RMAN> BACKUP CHECK LOGICAL VALIDATE TABLESPACE DATA SECTION SIZE 64G;

BLOCK LEVEL RECOVER

RMAN> RECOVER CORRUPTION LIST;


RMAN> RECOVER DATAFILE 8 block 22;


RMAN> RECOVER DATAFILE 7 block 233,235 DATAFILE 4 block 101;


RMAN> RECOVER DATAFILE 2 block 12,13 DATAFILE 3 block 5,98,99
DATAFILE 4 block 19;


RMAN> RECOVER DATAFILE 3 block 2,4,5 TABLESPACE sales DBA 4194405,4194412 FROM DATAFILECOPY;


RMAN> RECOVER TABLESPACE DATA DBA 4194404,4194405 FROM TAG "weekly";


RMAN> RECOVER TABLESPACE DATA DBA 94404 RESTORE UNTIL TIME 'SYSDATE-2';


RMAN> RECOVER DATAFILE 40 block 1089408 NOFILEUPDATE SAVE all blocks;

CATALOG

RMAN> CATALOG DATAFILECOPY '/disk2/backup/users01.bak';


RMAN> CATALOG DATAFILECOPY '/disk2/backup/users01.bak' LEVEL 0;


RMAN> CATALOG CONTROLFILECOPY '/disk3/backup/cf_copy.bkp';


RMAN> CATALOG ARCHIVELOG '<arch location>’;


RMAN> CATALOG BACKUPPIECE '/disk1/c-874220581-20131128-01’;


RMAN> CATALOG START WITH '/fs2/arch';


RMAN> CATALOG START WITH '/disk2/archlog' noprompt;


RMAN> CATALOG START WITH '+flash';


RMAN> CATALOG RECOVERY AREA;

CHANGE

RMAN> CHANGE BACKUPSET 333 KEEP FOREVER;


RMAN> CHANGE BACKUPSET 431 KEEP FOREVER NOLOGS;


RMAN> CHANGE BACKUPSET 100 UNAVAILABLE;


RMAN> CHANGE BACKUPSET 123 NOKEEP;


RMAN> CHANGE BACKUPSET 121,122,127,203,300 UNCATALOG;


RMAN> CHANGE BACKUP OF DATABASE TAG=’abc’ UNAVAILABLE;


RMAN> CHANGE BACKUP OF DATABASE DEVICE TYPE DISK UNAVAILABLE;


RMAN> CHANGE COPY OF DATABASE CONTROLFILE NOKEEP;


RMAN> CHANGE BACKUP OF SPFILE COMPLETED BEFORE 'SYSDATE-3' UNAVAILABLE;


RMAN> CHANGE BACKUP TAG 'consistent_db_bkup' KEEP FOREVER;


RMAN> CHANGE BACKUP TAG 'consistent_db_bkup' DATABASE KEEP FOREVER;


RMAN> CHANGE BACKUP TAG 'consistent_db_bkup' KEEP FOREVER NOLOGS;


RMAN> CHANGE BACKUP TAG 'consistent_db_bkup' NOKEEP;


RMAN> CHANGE ARCHIVELOG ALL UNCATALOG;


RMAN> CHANGE CONTROLFILECOPY '/tmp/cf.cpy' UNCATALOG;


RMAN> CHANGE BACKUP FOR DB_UNIQUE_NAME standby1 RESET DB_UNIQUE_NAME;


RMAN> CHANGE BACKUP
FOR DB_UNIQUE_NAME standby3
RESET DB_UNIQUE_NAME TO standby2;


RMAN> CHANGE DB_UNIQUE_NAME
FROM rdbms4
TO rdbms_dev;

CONVERT

RMAN> CONVERT DATABASE
ON DESTINATION PLATFORM
CONVERT SCRIPT
'/tmp/convertdb/convertscript.rman'
TRANSPORT SCRIPT '/tmp/convertdb/transportscript.sql'
NEW DATABASE 'prodwin'
FORMAT '/tmp/convertdb/%U';


RMAN> CONVERT DATABASE
ON DESTINATION PLATFORM
CONVERT SCRIPT '/tmp/convertdb/convertscript.rman'
TRANSPORT SCRIPT '/tmp/convertdb/transportscript.sql'
NEW DATABASE 'prodwin'
FORMAT '/tmp/convertdb/%U';


RMAN> CONVERT DATABASE
ON DESTINATION PLATFORM
CONVERT SCRIPT '/tmp/convert_newdb.rman'
TRANSPORT SCRIPT '/tmp/transport_newdb.sql'
NEW DATABASE 'prodaix'
DB_FILE_NAME_CONVERT '/u01/oradata/datafile','+DATA';


RMAN> CONVERT TABLESPACE tbs_2 FORMAT '/tmp/tbs_2_%U.df';

RMAN> CONVERT TABLESPACE finance, hr TO PLATFORM 'Solaris[tm] OE (32-bit)';


RMAN> CONVERT TABLESPACE finance, hr
TO PLATFORM 'Solaris[tm] OE (32-bit)' FORMAT '/tmp/transport_to_solaris/%U';


RMAN> CONVERT DATAFILE '/disk1/oracle/dbs/tbs_f1.df', '/disk1/oracle/dbs/ax1.f'
FORMAT '+DATAFILE';



RMAN> CONVERT DATAFILE '/u01/oradata/datafile/system.dbf'
FROM PLATFORM 'linux x86 64-bit'
FORMAT '+DATA/system.dbf';


RMAN> CONVERT DATAFILE
'/tmp/from_solaris/fin/fin01.dbf','/tmp/from_solaris/fin/fin02.dbf','/tmp/from_solaris/hr/hr01.dbf',
'/tmp/from_solaris/hr/hr02.dbf'
DB_FILE_NAME_CONVERT
'/tmp/from_solaris/fin','/disk2/orahome/dbs/fin',
'/tmp/from_solaris/hr','/disk2/orahome/dbs/hr'
FROM PLATFORM 'Solaris[tm] OE (64-bit)';


RMAN> CONVERT DATAFILE '/tmp/psmn.dbf'
TO PLATFORM='solaris operating system (x86-64)'
FROM PLATFORM='Solaris[tm] OE (64-bit)' FORMAT '/tmp/test/%n.dbf'
DB_FILE_NAME_CONVERT='/ui/prod/oracle/oradata/searchp/data /', '/tmp/test';

See: formatSpec for RMAN substitution variables.

DELETE

RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-2';


RMAN> DELETE ARCHIVELOG ALL BACKED UP 2 TIMES TO DEVICE TYPE SBT;


RMAN> DELETE ARCHIVELOG ALL LIKE '%755153075%';


RMAN> DELETE ARCHIVELOG UNTIL SEQUENCE=79228;


RMAN> DELETE FORCE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-1.5';


RMAN> DELETE FORCE ARCHIVELOG UNTIL SEQUENCE=16364;


RMAN> DELETE NOPROMPT ARCHIVELOG UNTIL SEQUENCE = 7300;


RMAN> DELETE EXPIRED ARCHIVELOG ALL;


RMAN> DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;


RMAN> DELETE BACKUPSET 101, 102, 103;


RMAN> DELETE NOPROMPT BACKUPSET TAG 'weekly_bkup';


RMAN> DELETE FORCE NOPROMPT BACKUPSET TAG 'weekly_bkup';


RMAN> DELETE DATAFILECOPY "+DG_DATA/DB/DATAFILE/SYSTEM.259.699468079";


RMAN> DELETE CONTROLFILECOPY '/TMP/CNTRLFILE.COPY';


RMAN> DELETE BACKUP DEVICE TYPE SBT;


RMAN> DELETE BACKUP DEVICE TYPE DISK;


RMAN> DELETE COPY;


RMAN> DELETE EXPIRED COPY;


RMAN> DELETE COPY TAG 'latest';

DUPLICATE

Connect to an auxiliary instance and start RMAN duplicate.
The duplicate operation will restore the root and the pluggable database pdb3, and skip two tablespaces from pdb3.  
When the duplicate operation is complete, a clone CDB with root and pdb3 will exist, but without tsb_arch and data.


CONNECT AUXILIARY /
SET ECHO ON
RUN
{
DUPLICATE DATABASE TO M12123
PLUGGABLE DATABASE pdb3, root
SKIP TABLESPACE pdb3:tbs_arch, pdb3:data
BACKUP LOCATION '/ade/b/2963778449/oracle/work/M1212';
}

The following command will execute duplicate of the CDB from tape backups while skipping a tablespace in the pluggable database PDB1. Only a subset of the PDB is recovered. With the NODROP TABLESPACE clause, the PDB1:DATA1 will exist and the file will show as MISSING.

RUN
{
ALLOCATE AUXILIARY CHANNEL aux1
DEVICE TYPE 'SBT_TAPE'
PARMS 'SBT_LIBRARY=oracle.disksbt, ENV=(BACKUP_DIR=/ade/b/1990733200/oracle/work/clone/tape)';
ALLOCATE AUXILIARY CHANNEL aux2
DEVICE TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=oracle.disksbt,ENV=(BACKUP_DIR=/ade/b/1990733200/oracle/work/clone/tape)'; SET UNTIL TIME "TO_DATE ('2022-08-04 14:10:00', 'YYYY-MM-DD HH24:MI:SS')";
SET DBID 2108978997;
SET NEWNAME FOR DATABASE TO '/ade/b/1990733200/oracle/work/clone/data/M195/%b';
DUPLICATE DATABASE M19 to M195 PFILE='/ade/b/1990733200/rdbms/dbs/initM195.ora' LOGFILE GROUP 1 ('/ade/b/1990733200/oracle/work/clone/data/M195/orl_group1_log1.f','/ade/b/1990733200/oracle/work/clone/data/M195/orl_group1_log2.f') SIZE 25M REUSE,
GROUP 2 ('/ade/b/1990733200/oracle/work/clone/data/M195/orl_group2_log1.f','/ade/b/1990733200/oracle/work/clone/data/M195/orl_group2_log2.f') SIZE 25M REUSE
PLUGGABLE DATABASE pdb1
SKIP TABLESPACE pdb1:data1
NODROP TABLESPACE
NOOPEN;
}
EXIT

See formatSpec for RMAN substitution variables.

FLASHBACK DATABASE

RMAN> LIST RESTORE POINT ALL;


RMAN> FLASHBACK DATABASE TO SCN 411010;


RMAN> FLASHBACK DATABASE TO RESTORE POINT 'before_update';


RMAN> FLASHBACK PLUGGABLE DATABASE pdb1
TO RESTORE POINT 'pdb1_grp_before_upgrade'
AUXILIARY DESTINATION '/temp/aux_dest';


RMAN> FLASHBACK TABLE scott.emp TO BEFORE DROP;


SQL> FLASHBACK TABLE scott.emp TO BEFORE DROP;

LIST

RMAN> LIST BACKUP SUMMARY;


RMAN> LIST BACKUP OF DATABASE;


RMAN> LIST BACKUP;


RMAN> LIST BACKUP OF PLUGGABLE DATABASE orcl, pdb1;


RMAN> LIST COPY OF DATAFILE  2, 3 ,6;


RMAN> LIST BACKUP OF DATAFILE 4 SUMMARY;


RMAN> LIST ARCHIVELOG ALL;


RMAN> LIST BACKUP OF ARCHIVELOG ALL;


RMAN> LIST COPY OF DATABASE ARCHIVELOG ALL;


RMAN> LIST INCARNATION;


RMAN> LIST BACKUP OF CONTROLFILE;


RMAN> LIST BACKUP OF SPFILE;


RMAN> LIST BACKUP BY FILE;


RMAN> LIST BACKUP BY FILE;


RMAN> LIST BACKUP OF DATAFILE 1;


RMAN> LIST EXPIRED BACKUP;


RMAN> LIST EXPIRED BACKUP SUMMARY;


RMAN> LIST EXPIRED BACKUP OF ARCHIVELOG ALL;


RMAN> LIST EXPIRED BACKUP OF DATAFILE 10;


RMAN> LIST EXPIRED BACKUP OF ARCHIVELOG ALL SUMMARY;


RMAN> LIST BACKUP OF TABLESPACE test SUMMARY;


RMAN> LIST BACKUP OF TABLESPACE test;


RMAN> LIST BACKUP OF ARCHIVELOG FROM SEQUENCE 55;


RMAN> LIST BACKUPSET OF DATAFILE 1;


RMAN> LIST RECOVERABLE BACKUP;


RMAN> LIST CONTROLFILECOPY "/tmp/cntrlfile.copy";


RMAN> LIST BACKUPSET OF DATAFILE 1;


RMAN> LIST BACKUP TAG 'ORCL_FULL';


RMAN> LIST BACKUPPIECE '<piece_name>';


RMAN> LIST BACKUP RECOVERABLE;


RMAN> LIST BACKUP OF ARCHIVELOG FROM SCN 853145 UNTIL SCN 854039;


RMAN> LIST DATAFILECOPY '/u01/app/oracle/copy/users01.dbf';


RMAN> LIST COPY OF CONTROLFILE;


RMAN> LIST ARCHIVELOG ALL BACKED UP 1 TIMES TO DISK;


RMAN> LIST BACKUP OF ARCHIVELOG FROM SCN 901427;


RMAN> LIST INCARNATION OF DATABASE orcl;


RMAN> LIST BACKUP OF CONTROLFILE DATABASE ARCHIVELOG ALL;

MERGED INCREMENTAL BACKUP

Recover to merge incremental backup to database copy


RUN
{
RECOVER COPY OF DATABASE
WITH TAG 'mib_level_0';
BACKUP
  INCREMENTAL LEVEL 1
  COPIES=1
  FOR RECOVER OF COPY
  WITH TAG 'mib_level_0'
  DATABASE;
}


RUN
(
BACKUP
  INCREMENTAL LEVEL 1
  COPIES=1
  FOR RECOVER OF COPY
  WITH TAG 'mib_level_0'
  DATABASE;
RECOVER COPY OF DATABASE
WITH TAG 'mib_level_0';
}

RECOVER

Tablespace Point-in-Time Recovery (TSPITR)

RMAN> RECOVER DATABASE;


RMAN> RECOVER DATABASE NOREDO;


RMAN> RECOVER DATABASE SKIP TABLESPACE foo;


RMAN> RECOVER DATABASE SKIP FOREVER TABLESPACE baddata;


RMAN> RECOVER DATABASE UNTIL SCN 154876;


RMAN> RECOVER TABLESPACE users;

If there is a space constraint to restore archive logs, use MAXSIZE to recover.

RMAN> RECOVER TABLESPACE DATA
DELETE ARCHIVELOG MAXSIZE 2M;


RMAN> RECOVER DATABASE DELETE ARCHIVELOG MAXSIZE 1024M;


RMAN> RECOVER DATAFILE 33;


RMAN> RECOVER DATAFILE 3 block 116 DATAFILE 4 block 10;


RMAN> RECOVER DATAFILE 2 block 204 DATAFILE 9 block 109 FROM TAG=sundaynight;


RMAN> RECOVER DATAFILECOPY '/disk1/img.df' UNTIL TIME 'SYSDATE-7';


RMAN> RECOVER COPY OF DATABASE WITH TAG 'merge';


RMAN> RECOVER COPY OF DATABASE WITH TAG 'merge' UNTIL TIME 'SYSDATE - 7';


RMAN> RECOVER CORRUPTION LIST;

Recover standby database from primary service

RMAN> RECOVER DATABASE
FROM SERVICE boston
NOREDO USING COMPRESSED BACKUPSET
SECTION SIZE 100m;


RMAN> RECOVER DATABASE
FROM SERVICE prim
SECTION SIZE 120M
USING COMPRESSED BACKUPSET;


RMAN> RECOVER DATABASE
FROM SERVICE prim
SECTION SIZE 120M;

Table recovery


RMAN> RECOVER TABLE "TEST.EMP"
OF PLUGGABLE DATABASE pdb1
UNTIL TIME "TO_DATE('20-JUL-2022 15:00:00','DD-MON-YYYY HH24:MI:SS')"
AUXILIARY DESTINATION='/ade/b/56264301/oracle/work/aux_dest'
DATAPUMP DESTINATION='/ade/b/56264301/oracle/work/aux_dest';

Tablespace Point-in-Time Recovery (TSPITR)


RMAN> RUN {
SET NEWNAME FOR DATAFILE
'ORACLE_HOME/oradata/trgt/users01.dbf'
TO '/newfs/users01.dbf';
...other SET NEWNAME commands...
RECOVER TABLESPACE users, tools
UNTIL SEQUENCE 1300
THREAD 1;
}

RMAN>
RUN {
SET NEWNAME FOR DATAFILE
'?/oradata/prod/system01.dbf'
TO '/disk1/auxdest/system01.dbf';
SET NEWNAME FOR DATAFILE '?/oradata/prod/sysaux01.dbf'
TO '/disk1/auxdest/sysaux01.dbf';
SET NEWNAME FOR DATAFILE '?/oradata/prod/undotbs01.dbf'
TO '/disk1/auxdest/undotbs01.dbf';
RECOVER TABLESPACE users, tools
UNTIL SEQUENCE 1300 THREAD 1
AUXILIARY DESTINATION '/disk1/auxdest';
}

RESTORE

RMAN> RESTORE DATABASE;


RMAN> RESTORE DATABASE VALIDATE;


RMAN> RESTORE DATABASE PREVIEW;


RMAN> RESTORE DATABASE PREVIEW SUMMARY;


RMAN> RESTORE DATABASE SKIP TABLESPACE temp, history;


RMAN> RESTORE DATABASE UNTIL SCN 154876;


RMAN> RESTORE TABLESPACE users;


RMAN> RESTORE TABLESPACE data1, data2;


RMAN> RESTORE TABLESPACE tbs1 PREVIEW;


RMAN> RESTORE TABLESPACE users VALIDATE;


RMAN> RESTORE DATAFILE 45;


RMAN> RESTORE DATAFILE 23 PREVIEW;


RMAN> RESTORE DATAFILE 12 VALIDATE;


RMAN> RESTORE CONTROLFILE;


RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;


RMAN> RESTORE CONTROLFILE FROM TAG 'monday_cf_backup';


RMAN> RESTORE CONTROLFILE FROM '/u01/control01.ctl';


RMAN> RESTORE CONTROLFILE VALIDATE;


RMAN> RESTORE CONTROLFILE
TO '/tmp/autobkp.dbf'
FROM AUTOBACKUP
MAXSEQ 20 MAXDAYS 150;


RMAN> RESTORE SPFILE;


RMAN> RESTORE SPFILE FROM AUTOBACKUP;


RMAN> RESTORE ARCHIVELOG ALL VALIDATE;


RMAN> RESTORE ARCHIVELOG ALL PREVIEW;


RMAN> RESTORE ARCHIVELOG ALL PREVIEW RECALL;


RMAN> RESTORE ARCHIVELOG ALL DEVICE TYPE SBT PREVIEW;


RMAN> RESTORE ARCHIVELOG
LOW LOGSEQ 78311
HIGH LOGSEQ 78340
THREAD 1 ALL;


RMAN> RESTORE ARCHIVELOG
FROM LOGSEQ=<seq_no>
UNTIL LOGSEQ=<seq_no>;


RMAN> RESTORE STANDBY CONTROLFILE FROM TAG 'forstandby';


RMAN> RESTORE CLONE CONTROLFILE
TO '+DATA/pcrd/data2/control02.ctl'
FROM '+DATA/pcrd/data1/control01.ctl';


RMAN> RESTORE DATABASE VALIDATE HEADER PREVIEW;

RMAN> RESTORE PLUGGABLE DATABASE root, pdb1, pdb2;

RMAN> RESTORE
PLUGGABLE DATABASE root, pdb1, pdb2
SKIP FOREVER TABLESPACE pdb:ts_name, pdb:ts_name, pdb:ts_name;

To restore a control file and then restore the database using the control file:

STARTUP NOMOUNT;
RUN
{
ALLOCATE CHANNEL c1
DEVICE TYPE sbt;
RESTORE CONTROLFILE;
ALTER DATABASE MOUNT;
RESTORE DATABASE;
}

SPOOL

RMAN> SPOOL LOG TO '/tmp/spool.log';


RMAN> SPOOL LOG TO '/tmp/backup.log' APPEND;


RMAN> SPOOL LOG OFF;

Write RMAN output to a trace (.trc) file and then choose to enable debug. This operation provides stdio and a log. If you enable debug in RMAN, then the output to trace will include the debug output from RMAN.


RMAN> SPOOL TRACE TO '/tmp/spool.trc';


RMAN> SPOOL TRACE TO '/tmp/backup.trc' APPEND;


RMAN> SPOOL TRACE OFF;

SWITCH

RMAN> SWITCH DATABASE TO COPY;


RMAN> SWITCH TABLESPACE users to copy;


RMAN> SWITCH DATAFILE ALL;


RMAN> SWITCH DATAFILE '/disk1/tols.dbf' TO DATAFILECOPY '/disk2/tols.copy';


RMAN> SWITCH DATAFILE "+dg_old/db/datafile/sysaux.260.699468081" TO COPY;


RMAN> SWITCH TEMPFILE 1;


RMAN> SWITCH TEMPFILE 1 TO '/newdisk/dbs/temp1.f';


RMAN> SWITCH TEMPFILE ALL;


RMAN> SWITCH CLONE DATAFILE ALL;

TRANSPORT TABLESPACE


RMAN> TRANSPORT TABLESPACE example, tools
TABLESPACE DESTINATION '/disk1/trans'
AUXILIARY DESTINATION '/disk1/aux'
UNTIL TIME 'sysdate-15/1440';


RMAN> TRANSPORT TABLESPACE exam
TABLESPACE DESTINATION '/disk1/trans'
AUXILIARY DESTINATION '/disk1/aux'
DATAPUMP DIRECTORY dpdir
DUMP FILE 'dmpfile.dmp'
IMPORT SCRIPT 'impscript.sql'
EXPORT LOG 'explog.log';

VALIDATE

RMAN> VALIDATE BACKUPSET 3871, 3890;


RMAN> VALIDATE DATABASE;


RMAN> VALIDATE CHECK LOGICAL DATABASE;


RMAN> VALIDATE SKIP INACCESSIBLE DATABASE;


RMAN> VALIDATE COPY OF DATABASE;


RMAN> VALIDATE TABLESPACE DATA;


RMAN> VALIDATE COPY OF TABLESPACE DATA;


RMAN> VALIDATE DATAFILE 2;


RMAN> VALIDATE DATAFILE 4,8;


RMAN> VALIDATE DATAFILE 4 BLOCK 56;


RMAN> VALIDATE DATAFILE 8 SECTION SIZE = 200M;


RMAN> VALIDATE CURRENT CONTROLFILE;


RMAN> VALIDATE SPFILE;


RMAN> VALIDATE RECOVERY FILES;


RMAN> VALIDATE CHECK LOGICAL RECOVERY FILES;


RMAN> VALIDATE RECOVERY AREA;


RMAN> VALIDATE CHECK LOGICAL RECOVERY AREA;


RMAN> VALIDATE DB_RECOVERY_FILE_DEST;


RMAN> VALIDATE CHECK LOGICAL
DB_RECOVERY_FILE_DEST;

Validate Mirror


RMAN> VALIDATE DATAFILE 1 MIRROR ALL;


RMAN> VALIDATE DATAFILE 1 MIRROR 1;


RMAN> VALIDATE DATAFILE 1 MIRROR 2;


RMAN> VALIDATE DATAFILE 1 MIRROR 3;