RMAN Commands Summary
Connecting to RMAN
Connecting to a Target Database
$ rman TARGET /
$ rman TARGET sys/password@oradb
$ rman
RMAN> connect TARGET /
RMAN> connect TARGET sys/password@oradb
Connecting to the Target Database and Recovery Catalog
$ rman TARGET / CATALOG rman/rcat@rcatdb
$ rman TARGET sys/oracle@oradb CATALOG rman/rcat@rcatdb
$ rman
RMAN> CONNECT TARGET /
RMAN> CONNECT CATALOG rman/rcat@rcatdb
$ rman
RMAN> CONNECT TARGET sys/password@oradb
RMAN> CONNECT CATALOG rman/rcat@rcatdb
Connecting to an Auxiliary Database
$ rman AUXILIARY sys/aux@auxdb
$ rman
RMAN> CONNECT AUXILIARY sys/aux@auxdb
Connecting to the Target Database, Auxiliary and Recovery Catalog
$ rman TARGET sys/oracle@trgt AUXILIARY sys/aux@auxdb CATALOG rman/cat@catdb
$ rman
RMAN> CONNECT TARGET sys/password@oradb
RMAN> CONNECT CATALOG rman/cat@rcatdb
RMAN> CONNECT AUXILIARY sys/aux@auxdb
Show current backup settings
RMAN> show all;
RMAN> show retention policy;
RMAN> show controlfile autobackup format;
Change RMAN backup settings
RMAN> configure retention policy to recovery window of 7 days;
Clear current setting
RMAN> configure retention policy clear;
Backup
Backup a primary or standby database, tablespace, data file, control file, spfile, archived redo log file or backup set. Database can be in Archivelog or No archivelog mode.
Backup Database
RMAN> BACKUP DATABASE;
BACKUP AS BACKUPSET DATABASE;
BACKUP AS BACKUPSET DATABASE PLUS ARCHIVELOG;
BACKUP PLUGGABLE DATABASE pdb1, pdb2;
BACKUP INCREMENTAL LEVEL 0 DATABASE PLUS ARCHIVELOG;
BACKUP INCREMENTAL LEVEL 1 DATABASE TAG ‘incremental_01’ PLUS ARCHIVELOG;
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 0 DATABASE;
Backup Archivelogs
RMAN> BACKUP ARCHIVELOG ALL;
BACKUP ARCHIVELOG NOT BACKED UP N TIMES
BACKUP ARCHIVELOG NOT BACKED UP SINCE TIME ‘date_string’;
Backup Tablespace, datafiles, controlfile
RMAN> BACKUP AS COMPRESSED BACKUPSET TABLESPACE PRD1;
BACKUP DATAFILE 5;
BACKUP DATAFILE ‘/u02/ORADB/DATA/users.dbf’ FORMAT ‘/backup/%U’;
BACKUP CURRENT CONTROLFILE;
Check for physical and logical corruptions before running the backup
RMAN> BACKUP VALIDATE DATABASE ARCHIVELOG ALL;
RMAN> BACKUP VALIDATE CHECK LOGICAL DATABASE ARCHIVELOG ALL;
Crosscheck
Synchronize the physical backups and copies with the logical records in the RMAN repository
RMAN> CROSSCHECK BACKUP;
CROSSCHECK BACKUP OF DATABASE;
CROSSCHECK BACKUP OF ARCHIVELOG ALL;
CROSSCHECK BACKUP OF ARCHIVELOG FROM SCN n UNTIL SCN m;
CROSSCHECK BACKUP COMPLETED BETWEEN ’01-JAN-18’ AND ’31-MAR-18’
CROSSCHECK PREPLUGIN BACKUP OF DATABASE;
CROSSCHECK ARCHIVELOG ALL;
CROSSCHECK BACKUP OF ARCHIVELOG SEQUENCE n THREAD m;
List
Display backups and information about other objects recorded in the RMAN repository or in the controfile
RMAN> LIST BACKUP;
LIST BACKUP SUMMARY;
LIST BACKUP BY FILE;
LIST COPY;
LIST INCARNATION;
LIST BACKUP OF DATABASE;
LIST BACKUP OF ARCHIVELOG ALL;
LIST BACKUP OF CONTROLFILE;
LIST ARCHIVELOG ALL BACKED UP n TIMES;
LIST EXPIRED DATABASE;
LIST EXPIRED BACKUP;
LIST BACKUP SUMMARY COMPLETED BEFORE "SYSDATE - 45";
LIST BACKUPSET TAG ENTER_A_TAG_NUMBER;
LIST BACKUP LIKE '/tmp/%';
Restore & Recover
Perform complete recovery of a database or one or more restored data files
Perform point-in-time recovery of a database, pluggable database, tablespace, table, or table partition
Apply incremental backups to a data file image copy (not a restored data file) to roll it forward in time
Recover a corrupt data block or set of data blocks within a data file
Determine state of database for recovery
RMAN> VALIDATE DATABASE;
RMAN> REPORT SCHEMA;
Check that restore and recovery is possible
RMAN> RESTORE DATABASE PREVIEW;
OR
RMAN> RESTORE DATABASE PREVIEW SUMMARY;
To include offsite backups
RMAN> RESTORE DATABASE PREVIEW RECALL;
Validate that backup files are available and not corrupted
RMAN> RESTORE DATABASE VALIDATE;
RMAN> RESTORE ARCHIVELOG ALL VALIDATE;
Restore and recover database including loss of controlfile.
RMAN> STARTUP NOMOUNT
RMAN> RESTORE CONTROLFILE FROM AUTOBACKUP;
RMAN> ALTER DATABASE MOUNT;
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE DELETE ARCHIVELOG MAXSIZE 500M;
RMAN> ALTER DATABASE OPEN RESETLOGS;
Restore and recover database using current controlfile
RMAN> ALTER DATABASE MOUNT;
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE DELETE ARCHIVELOG MAXSIZE 500M;
RMAN> ALTER DATABASE OPEN;
Restore and recover Tablespace
RMAN> ALTER TABLESPACE users OFFLINE IMMEDIATE;
RMAN> RESTORE TABLESPACE users;
RMAN> RECOVER TABLESPACE users;
RMAN> ALTER TABLESPACE users ONLINE;
Restore and recover a datafile
RMAN> RESTORE DATAFILE 5;
RMAN> RECOVER DATAFILE 5;
RUN
{
SET NEWNAME FOR DATAFILE 2 TO '+DATA/ORADB/users2.dbf';
SET NEWNAME FOR DATAFILE 3 TO '+DATA/ORADB/users3.dbf';
SET NEWNAME FOR DATAFILE 4 TO '+DATA/ORADB/data1.dbf';
RESTORE DATABASE;
SWITCH DATAFILE ALL;
RECOVER DATABASE;
}
Restore CDB Root
Do a full database restore and recover to avoid metadata inconsintencies between Root and PDB’s
Restore and recover a PDB while connected to the Root as a common user
RMAN> ALTER PLUGGABLE DATABASE pdb1 CLOSE;
RMAN> RESTORE PLUGGABLE DATABASE pdb1;
RMAN> RECOVER PLUGGABLE DATABASE pdb1;
RMAN> ALTER PLUGGABLE DATABASE pdb1 OPEN;
RUN {
ALTER PLUGGABLE DATABASE pdb1 CLOSE;
RESTORE PLUGGABLE DATABASE pdb1;
RECOVER PLUGGABLE DATABASE pdb1;
ALTER PLUGGABLE DATABASE pdb1 OPEN;
}
Restore and recover a PDB while connected as a local administrator
RMAN> SHUTDOWN IMMEDIATE;
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> STARTUP;
Restore and recover a PDB tablespace while connected as a local administrator
RUN {
ALTER TABLESPACE users OFFLINE;
RESTORE TABLESPACE users;
RECOVER TABLESPACE users;
ALTER TABLESPACE users ONLINE;
}
Restore and recover a PDB datafile while connected as a local or common administrator
RUN {
ALTER DATABASE DATAFILE 12 OFFLINE;
RESTORE DATAFILE 12;
RECOVER DATAFILE 12;
ALTER DATABASE DATAFILE 12 ONLINE;
}
Point in Time Recovery
Point-in-time-recovery for a CDB
RMAN> SHUTDOWN IMMEDIATE;
RMAN> STARTUP MOUNT;
RMAN> SET UNTIL TIME "TO_DATE('15-AUG-2018 08:00:00','DD-MON-YYYY HH24:MI:SS')";
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN RESETLOGS;
Point-in-time-recovery for a PDB
RMAN> ALTER PLUGGABLE DATABASE pdb1 CLOSE;
RMAN> SET UNTIL TIME "TO_DATE('15-AUG-2018 08:00:00','DD-MON-YYYY HH24:MI:SS')";
RMAN> RESTORE PLUGGABLE DATABASE pdb1;
RMAN> RECOVER PLUGGABLE DATABASE pdb1;
RMAN> ALTER PLUGGABLE DATABASE pdb1 OPEN RESETLOGS;
Delete
Crosscheck should be run before doing a Delete.
Delete expired backups ( removes records from catalog without corresponding files)
RMAN> CROSSCHECK BACKUP;
RMAN> DELETE EXPIRED BACKUP;
RMAN> DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
Delete obsolete backups ( backups no longer needed to meet retention policy)
RMAN> DELETE OBSOLETE;
RMAN> DELETE OBSOLETE REDUNDANCY 2;
RMAN> DELETE OBSOLETE RECOVERY WINDOW OF 7 DAYS;
RMAN> DELETE OBSOLETE DEVICE TYPE SBT;
Other delete commands
RMAN> DELETE BACKUP COMPLETED BEFORE "SYSDATE - 45";
RMAN> DELETE ARCHIVELOG ALL BACKED UP 2 TIMES TO SBT;
RMAN> DELETE BACKUPSET n;