RMAN Commands Cheat Sheet - Oracle Backup & Recovery Quick Reference
RMAN Commands Cheat Sheet
Section titled “RMAN Commands Cheat Sheet”Quick reference for Oracle Recovery Manager (RMAN) backup and recovery commands.
Connect to RMAN
Section titled “Connect to RMAN”# Connect to target databaserman target /
# Connect with catalogrman target / catalog rman/password@catdb
# Connect to remote databaserman target sys/password@orcl
# Connect to auxiliary for duplicationrman target / auxiliary sys/password@cloneBackup Commands
Section titled “Backup Commands”Full Database Backup
Section titled “Full Database Backup”-- Full database backupBACKUP DATABASE;
-- Full backup with archivelogBACKUP DATABASE PLUS ARCHIVELOG;
-- Full backup, delete archived logs after backupBACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;
-- Compressed backupBACKUP AS COMPRESSED BACKUPSET DATABASE;
-- Backup to specific locationBACKUP DATABASE FORMAT '/backup/%d_%T_%s_%p.bkp';Tablespace & Datafile Backups
Section titled “Tablespace & Datafile Backups”-- Backup specific tablespaceBACKUP TABLESPACE users, example;
-- Backup specific datafileBACKUP DATAFILE 4;BACKUP DATAFILE '/u01/oradata/orcl/users01.dbf';
-- Backup current controlfileBACKUP CURRENT CONTROLFILE;
-- Backup spfileBACKUP SPFILE;Incremental Backups
Section titled “Incremental Backups”-- Level 0 (base) backupBACKUP INCREMENTAL LEVEL 0 DATABASE;
-- Level 1 differential (default)BACKUP INCREMENTAL LEVEL 1 DATABASE;
-- Level 1 cumulativeBACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
-- Block change tracking (enable first)ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '/u01/oradata/orcl/bct.dbf';Archive Log Backups
Section titled “Archive Log Backups”-- Backup all archive logsBACKUP ARCHIVELOG ALL;
-- Backup and deleteBACKUP ARCHIVELOG ALL DELETE INPUT;
-- Backup specific sequence rangeBACKUP ARCHIVELOG FROM SEQUENCE 100 UNTIL SEQUENCE 200;
-- Backup archive logs from last 24 hoursBACKUP ARCHIVELOG FROM TIME 'SYSDATE-1';Restore Commands
Section titled “Restore Commands”Database Restore
Section titled “Database Restore”-- Restore database (from mount)RESTORE DATABASE;
-- Restore to specific timeRESTORE DATABASE UNTIL TIME "TO_DATE('2024-01-15 10:00:00','YYYY-MM-DD HH24:MI:SS')";
-- Restore to SCNRESTORE DATABASE UNTIL SCN 1234567;
-- Restore specific tablespaceRESTORE TABLESPACE users;
-- Restore specific datafileRESTORE DATAFILE 4;Controlfile Restore
Section titled “Controlfile Restore”-- Restore controlfile from backupRESTORE CONTROLFILE FROM AUTOBACKUP;
-- Restore from specific backup pieceRESTORE CONTROLFILE FROM '/backup/ctl_backup.bkp';Spfile Restore
Section titled “Spfile Restore”-- Restore spfile from autobackupRESTORE SPFILE FROM AUTOBACKUP;
-- Restore to specific locationRESTORE SPFILE TO '/u01/app/oracle/dbs/spfileorcl.ora' FROM AUTOBACKUP;Recover Commands
Section titled “Recover Commands”-- Recover databaseRECOVER DATABASE;
-- Recover to specific timeRECOVER DATABASE UNTIL TIME "TO_DATE('2024-01-15 10:00:00','YYYY-MM-DD HH24:MI:SS')";
-- Recover to SCNRECOVER DATABASE UNTIL SCN 1234567;
-- Recover specific tablespaceRECOVER TABLESPACE users;
-- Recover datafileRECOVER DATAFILE 4;
-- Open database after point-in-time recoveryALTER DATABASE OPEN RESETLOGS;List Commands
Section titled “List Commands”-- List all backupsLIST BACKUP;
-- List database backupsLIST BACKUP OF DATABASE;
-- List backups summaryLIST BACKUP SUMMARY;
-- List archive log backupsLIST BACKUP OF ARCHIVELOG ALL;
-- List specific backup by tagLIST BACKUP TAG 'daily_full';
-- List expired backupsLIST EXPIRED BACKUP;
-- List incarnationsLIST INCARNATION;
-- List failures (12c+)LIST FAILURE;Report Commands
Section titled “Report Commands”-- Report files needing backupREPORT NEED BACKUP;
-- Report files needing backup (> 2 days)REPORT NEED BACKUP DAYS 2;
-- Report obsolete backupsREPORT OBSOLETE;
-- Report database schemaREPORT SCHEMA;
-- Report unrecoverable filesREPORT UNRECOVERABLE;Crosscheck & Delete
Section titled “Crosscheck & Delete”Crosscheck
Section titled “Crosscheck”-- Crosscheck all backupsCROSSCHECK BACKUP;
-- Crosscheck archive logsCROSSCHECK ARCHIVELOG ALL;
-- Crosscheck specific backupCROSSCHECK BACKUPSET 123;
-- Crosscheck copyCROSSCHECK COPY;Delete Commands
Section titled “Delete Commands”-- Delete expired backupsDELETE EXPIRED BACKUP;
-- Delete obsolete backupsDELETE OBSOLETE;
-- Delete specific backupDELETE BACKUPSET 123;
-- Delete backup older than 7 daysDELETE BACKUP COMPLETED BEFORE 'SYSDATE-7';
-- Delete archived logs older than 7 daysDELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
-- Skip confirmationDELETE NOPROMPT OBSOLETE;Configure Commands
Section titled “Configure Commands”-- Show current configurationSHOW ALL;
-- Configure retention policyCONFIGURE RETENTION POLICY TO REDUNDANCY 2;CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
-- Configure backup destinationCONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/backup/%d_%T_%s_%p.bkp';
-- Configure parallelismCONFIGURE DEVICE TYPE DISK PARALLELISM 4;
-- Configure compressionCONFIGURE COMPRESSION ALGORITHM 'MEDIUM';
-- Configure controlfile autobackupCONFIGURE CONTROLFILE AUTOBACKUP ON;CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup/%F';
-- Configure backup optimizationCONFIGURE BACKUP OPTIMIZATION ON;
-- Configure encryptionCONFIGURE ENCRYPTION FOR DATABASE ON;
-- Clear configuration to defaultCONFIGURE RETENTION POLICY CLEAR;Catalog Commands
Section titled “Catalog Commands”-- Catalog backup pieceCATALOG BACKUPPIECE '/backup/backup.bkp';
-- Catalog all backups in directoryCATALOG START WITH '/backup/';
-- Catalog datafile copyCATALOG DATAFILECOPY '/u01/copy/users01.dbf';
-- Uncatalog expired backupUNCATALOG EXPIRED BACKUP;Validate Commands
Section titled “Validate Commands”-- Validate databaseVALIDATE DATABASE;
-- Validate specific datafileVALIDATE DATAFILE 4;
-- Validate backupsetVALIDATE BACKUPSET 123;
-- Check logical corruptionVALIDATE CHECK LOGICAL DATABASE;
-- Preview restore (check availability)RESTORE DATABASE PREVIEW;RESTORE DATABASE PREVIEW SUMMARY;Duplicate Database
Section titled “Duplicate Database”-- Duplicate to new databaseDUPLICATE TARGET DATABASE TO newdb;
-- Duplicate from active databaseDUPLICATE TARGET DATABASE TO newdb FROM ACTIVE DATABASE;
-- Duplicate to point in timeDUPLICATE TARGET DATABASE TO newdb UNTIL TIME "TO_DATE('2024-01-15 10:00:00','YYYY-MM-DD HH24:MI:SS')";
-- Duplicate with file relocationDUPLICATE TARGET DATABASE TO newdb DB_FILE_NAME_CONVERT '/u01/oradata/prod', '/u02/oradata/clone' SPFILE SET DB_UNIQUE_NAME='newdb';Block Recovery
Section titled “Block Recovery”-- Recover corrupt blocksBLOCKRECOVER DATAFILE 4 BLOCK 100;
-- Recover range of blocksBLOCKRECOVER DATAFILE 4 BLOCK 100,101,102;
-- Recover from backupBLOCKRECOVER DATAFILE 4 BLOCK 100 FROM BACKUPSET;Scripting & Automation
Section titled “Scripting & Automation”-- Run script@/scripts/backup.rman
-- Create stored script (in catalog)CREATE SCRIPT daily_backup { BACKUP DATABASE PLUS ARCHIVELOG DELETE INPUT;}
-- Execute stored scriptRUN { EXECUTE SCRIPT daily_backup; }
-- Delete scriptDELETE SCRIPT daily_backup;
-- Print scriptPRINT SCRIPT daily_backup;Run Block Example
Section titled “Run Block Example”RUN { ALLOCATE CHANNEL c1 DEVICE TYPE DISK; ALLOCATE CHANNEL c2 DEVICE TYPE DISK; BACKUP DATABASE FORMAT '/backup/%d_%T_%s_%p_%c.bkp'; RELEASE CHANNEL c1; RELEASE CHANNEL c2;}Common Backup Tags
Section titled “Common Backup Tags”-- Tag backups for easy identificationBACKUP DATABASE TAG 'weekly_full';BACKUP INCREMENTAL LEVEL 1 DATABASE TAG 'daily_inc';BACKUP ARCHIVELOG ALL TAG 'arch_backup';
-- Restore/recover using tagRESTORE DATABASE FROM TAG 'weekly_full';Format Specifiers
Section titled “Format Specifiers”| Specifier | Description |
|---|---|
| %d | Database name |
| %D | Current day (DD) |
| %M | Current month (MM) |
| %Y | Current year (YYYY) |
| %T | Date (YYYYMMDD) |
| %s | Backup set number |
| %p | Piece number |
| %c | Channel number |
| %U | Unique filename |
| %F | Unique format (c-IIIIIIIIII-YYYYMMDD-QQ) |