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;