RMAN: Basic RMAN Commands (2024)

Published February 19, 2014ByBrijesh Gogia

Oracle Recovery Manager (RMAN) satisfies the most pressing demands of performant, manageable backup and recovery, for all Oracle data formats.

RMAN provides a common interface, via command line and Enterprise Manager, for backup tasks across different host operating systems.

Below are some of the commonly used RMAN commands which you can run through RMAN command line.

All the commands were tested on Oracle database version 11gR2 (11.2.0.4)

**SHOW COMMAND**

1)Shows all parameters.

RMAN> show all;

2)Shows the archivelog deletion policy.

RMAN>showarchivelog deletion policy;

3)Shows the number of archivelog backup copies

RMAN>showarchivelog backup copies;

4)Shows the auxiliary database information.

RMAN>showauxname;

5)Shows whether optimization is on or off.

RMAN>showbackup optimization;

6)Shows how the normal channel and auxiliarychannel are configured.

RMAN>show[auxiliary] channel;

7)Shows the characteristics of the channel

RMAN>showchannel for device type [disk |<media device>;

8)Shows whether control file autobackup is on or off.

RMAN>showcontrolfile autobackup;

9)Shows the format of the autobackup control file

RMAN>showcontrolfile autobackup format;

10) Shows the number of datafile backup copies beingkept.

RMAN>showdatafile backup copies;

11)Shows the default type (disk or tape)

RMAN>showdefault device type;

12)Shows policy for datafile and control file backupsand copies that RMAN marks as obsolete.

RMAN>showretention policy;

13)Shows the encryption algorithm currently in use.

RMAN>showencryption algorithm;

14)Shows the encryption for the database and everytablespace.

RMAN>showencryption for [database | tablespace];

15)Shows the tablespaces excluded from the backup.

RMAN>showexclude;

16)Shows the maximum size for backup sets. Thedefault is unlimited.

RMAN>showmaxsetsize;

17)Shows the policy for datafile and control filebackups and copies that RMAN marks as obsolete.

RMAN>showretention policy;

18)Shows the snapshot control filename.

RMAN>showsnapshot controlfile name;

19)Shows the compression algorithm in force. Thedefault is the ZLIB algorithm.

RMAN>showcompression algorithm;

**BACKUP COMMAND**

1)To perform a manual backup of the current control file

RMAN> backup current controlfile;

2) Toback up the control file as part of a tablespace backup operation

RMAN> backup tablespace users include current controlfile;

3)To back up the server parameter file

RMAN> backup spfile;

4) To restart an RMAN backup that failed midway througha nightly backup.

RMAN> backup not backed up since time ‘sysdate-1′database plus archivelog;

5) Toforce RMANto back up a file regardless of whether it’s identical to a previously backed up file by specifyingthe force option

RMAN> backup database force;

By using the force option, you make RMAN back up all the specified files, even if thebackup optimization feature is turned on.

6) To backup complete database

RMAN> backup database;

7) To backup database plus archivelogs

RMAN> backup database plus archivelogs;

8) To backup all archive logs

RMAN> backup archivelog all;

9) To backup specific data file

RMAN> backup datafile 5 tag dbfile_5_bkp;

A tag was also added to easily locate this datafile’s backup.

**CATALOG COMMAND**

1) Adduser-managed copies of datafile toRMAN repository

RMAN> catalog datafilecopy ‘/u01/oracle/users.bkp’;

RMAN> catalog datafilecopy‘/u01/oracle/users.bkp’level 0;(To catalog asincremental level 0 backup)

2) Adduncataloged backup piecetoRMAN repository

RMAN> catalog backuppiece ‘ertt2lu4_1_1′;

3) To catalog multiple files ( say you copied production backup to target database for database cloning)

RMAN> catalog start with ‘/backups/source_bkp’ noprompt;

The start with clause specifies that RMAN catalog all valid backup sets, datafile copies,and archived redo logs starting with the string pattern you pass.

4) Tocatalog all files in the flash recovery area

RMAN> catalog recovery area;

**REPORT COMMAND**

1) To find out which backups you needto make in order to conform to the retention policy you put in place

RMAN> report need backup;

The output of the report need backup command tells you that you must back up which alldatabase files to comply with your retention policy.

2) Toget a report about all the datafiles in a database

RMAN> report schema;

RMAN> report schema at time ‘sysdate-1′;(from a pastpoint in time)

3) Toreports on any obsolete backups

RMAN> crosscheck backup;

RMAN> report obsolete;

Always run the crosscheckcommand first in order to update the status of the backups in the RMAN repository to that ondisk and tape.

**LIST COMMAND**

1) To review RMAN backups of datafiles, archived redo logs, and controlfiles.

RMAN> list backup;

2) List the backups by just the backup files

RMAN> list backup by file;

3) Lists only backup sets and proxy copies but not image copies

RMAN> list backupset;

4) Lists only datafile, archived redo log, and control file copies

RMAN> list copy;

5) Lists backups by tag:

RMAN> list backupset tag ‘full_database_backup’;

6) Tolist the backups of all datafiles and archivelogs of the target database:

RMAN> list backup of database;

7)Lists all incarnations of a database

RMAN>list incarnation;

When you perform an open resetlogs operation, it results in the creation of a new incarnationof the database. When performing recovery operations on such a database, you might want tocheck the database incarnation

8)Lists all restore points in the target database

RMAN> list restore point;

9)Lists the names of all recovery catalog scripts

RMAN> list script names;

10) Which of the backups of the target database havean expired status in the repository.

RMAN> list expired backup;

11) Which of the archived redo log backups have the expired status

RMAN> list expired archivelog all;

12) To restrict the list of backupsand copies whose status is listed as available

RMAN> list recoverable backup;

13) To view all the restore points in the database

RMAN> list restore point all;

**CROSSCHECK COMMAND**

1) Cross-checking just backup sets

RMAN> crosscheck backupset;

2) Cross-checking a copy of a database

RMAN> crosscheck copy of database;

3) Cross-checking specific backupsets

RMAN> crosscheck backupset 10, 12;

4) Cross-checking using a backup tag

RMAN> crosscheck backuppiece tag = ‘monthly_backup’;

5) Cross-checking a control file copy;

RMAN> crosscheck controlfilecopy ‘/backups/control01.ctl’;

6) Cross-checking backups completed after a specific time

RMAN> crosscheck backup of datafile “/u01/oracle//system01.dbf” completedafter ‘sysdate-7′;

7) Cross-checking of all archivelogs and the spfile

RMAN> crosscheck backup of archivelog all spfile;

8) Cross-checking all backups on disk and tape

RMAN> crosscheck backup;

The crosscheck command checks whether the backups still exist. The command checksbackup sets, proxy copies, and image copies.

**DELETE COMMAND**

1) To remove both archived redo logs and RMANbackups

RMAN> delete backup;

RMAN always prompts you for confirmation before going ahead and deleting the backupfiles. You can issue the delete noprompt command to suppress the confirmationprompt. This will also remove the physical file from the backup media

To make sure the repository and thephysical media are synchronized, run “RMAN>crosscheck backup;” before running above command

2) To remove all image copies

RMAN> delete copy;

To make sure the repository and thephysical media are synchronized, run “RMAN>crosscheck copy;” before running above command

3) To delete specfic backuppiece

RMAN> delete backuppiece 9;

4) To delete copy of controlfile under /backups

RMAN> delete copy of controlfile like ‘/backups/%’;

5) To delete backups with specific tag

RMAN> delete backup tag=’double_bkp_prod’;

6) To delete bakups of specific tablespace

RMAN> delete backup of tablespace sysaux device type sbt;

******************

You can also use force, expired, obsolete keyword with delete commad:

delete force..: Deletes the specified files whether they actually exist on media or not andremoves their records from the RMAN repository as well

delete expired..: Deletes only those files marked asexpired as per crosscheck command.

delete obsolete..: Deletes datafile backups and copies and the archived redo logs and logbackups that are recorded asobsoletein the RMAN repository

The delete obsolete command relies only on the backup retention policy in force.

******************

7) To delete all archived redo logs

RMAN> delete archivelog all;

8) Todelete already backed up archived redo logs

RMAN> delete archivelog allbacked up 2 times to sbt;

9) To delete specific archived redo logs

RMAN> delete archivelog until sequence = 1234;

10) Delete archive logs after taking backup

RMAN> backup device type sbtarchivelog alldelete all input;

11) Delete stored script

RMAN>delete scriptfull_disk_db;

If you have two scripts—one local and one global—in the same name, then the deletescript command drops the local one, not the global one. If you want to drop the global script,you must use the keyword global in the command, as shown here:

RMAN> delete global scriptfull_disk_db;

**CHANGE COMMAND**

1) Change the status of abackup set to unavailable

RMAN> change backupset 6 unavailable;

You usually do it when youdon’t want to delete the backup/copy but you alsodon’t want to delete that backup/copy (probably it is not available physically on disk)

Once you mark a backup file unavailable, RMAN won’t use that file in a restore or recoveroperation.

2) Change the status of abackup set to available again

RMAN> change backupset 6 available;

Forexample, say you performed a backup using an NFS-mounted disk and that disk subsequentlybecomes inaccessible for some reasons, justissue the change command to set the status of the backup as unavailable. Later, oncethe disk becomes accessible again, you can change its status back to available.

3) To modify a regular consistent database backup into anarchival backup:

RMAN> change backup tag ‘initial_db_bkup’keep forever;

When you make an archival backup with the keep … forever option, RMAN disregardsthe backup retention time for these backups.

4) To change the archival backup to a normal database backup

RMAN> change backup tag ‘inital_db_backup’ nokeep;

When you run the change … nokeep command,the backup set with the tag inital_db_backup, which was previously designated as a long termarchival backup, will once again come under the purview of your configured retentionpolicy.

5) To modify the time period for which you want to retain the archival backups

RMAN> change backupset 12 keep until time ‘sysdate+60′;

After the 60 days are up, the backup will become obsoleteand is eligible for deletion by the delete obsolete command.

**VALIDATE COMMAND**

1) To check all the datafilesand the archived redo logs for physical corruptionwithoutactually performing the backup

RMAN> backup validate database archivelog all;

2)To check for logical corruptionwithoutactually performing the backup

RMAN> backup validatecheck logicaldatabase archivelog all;

The check logical clause means that RMAN will check for logical corruption only.

3) To validate a single backup set

RMAN> validate backupset 5;

4) To validate all datafiles at once

RMAN> validate database;

Note that the validate command can check at a much moregranular level than the backup … validate command. You can use the validate commandwith individual datafiles, backup sets, and even data blocks.

The validate command always skips all the data blocks that were never used, in each ofthe datafile it validates.

5) To validate recovery area

RMAN>validate recovery area;

6) To validate all the recovery related files

RMAN>validate recovery files;

7) To validate the spfile

RMAN>validate spfile;

8) To validate specific tablespace

RMAN>validate tablespace <tablespace_name>;

9) Tovalidate specific control file copy

RMAN>validate controlfilecopy <filename>;

10) To validate specific backupset

RMAN>validate backupset <primary_key>;

  • Author
  • Recent Posts

RMAN: Basic RMAN Commands (1)

I’m an experienced Cloud/Oracle Applications/DBA Architect with more than 15 years of full-time DBA/Architect experience. I have gained wide knowledge on Oracle and Non-Oracle software stack running on-prem and on Cloud and have worked on several big projects for multi-national companies. I enjoy working with leading-edge technology and have a passion for Cloud architecture, automation, database performance, and stability. Thankfully my work allows me time for researching new technologies (and to write about them).

RMAN: Basic RMAN Commands (2)

RMAN: Basic RMAN Commands (3)

Latest posts by Brijesh Gogia (see all)

  • Oracle Multitenant DB 4 : Parameters/SGA/PGA management in CDB-PDB - July 18, 2021
  • Oracle Multitenant DB 3 : Data Dictionary Architecture in CDB-PDB - March 20, 2021
  • Oracle Multitenant DB 2 : Benefits of the Multitenant Architecture - March 19, 2021

Print 🖨

Post Views: 4,538

Related posts:

  1. Physical and Logical Block Corruption in Oracle Database
  2. Useful UNIX/LINUX commands for DBAs
  3. RMAN : CONFIGURE YOUR RMAN ENVIRONMENT
  4. RMAN: RECOVERY SCENARIOS RELATED TO DATABASE
  5. RMAN: CONTROL FILE RECOVERY SCENARIOS
  6. RMAN: CREATE THE RECOVERY CATALOG
  7. RMAN: GRANTING RESTRICTED ACCESS USING VIRTUAL PRIVATE CATALOG
  8. RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process
  9. Frequently Used GoldenGate Commands
  10. Oracle Database RMAN Interview Questions
RMAN: Basic RMAN Commands (2024)
Top Articles
Latest Posts
Article information

Author: Mr. See Jast

Last Updated:

Views: 6504

Rating: 4.4 / 5 (55 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Mr. See Jast

Birthday: 1999-07-30

Address: 8409 Megan Mountain, New Mathew, MT 44997-8193

Phone: +5023589614038

Job: Chief Executive

Hobby: Leather crafting, Flag Football, Candle making, Flying, Poi, Gunsmithing, Swimming

Introduction: My name is Mr. See Jast, I am a open, jolly, gorgeous, courageous, inexpensive, friendly, homely person who loves writing and wants to share my knowledge and understanding with you.