How to use DURATION with RMAN backups in #Oracle


The DURATION clause enables you to reduce the performance impact of RMAN backups respectively it sets a certain time limit for the backup.

Let’s suppose your RMAN backup takes one hour now and you take it online while end users work with the database. This reduces the performance impact of the online backup by half approximately:

RMAN> backup duration 02:00 minimize load database;

The first two digits are hours, the second two digits are minutes. Above command tells RMAN to spend 02 hours and 00 minutes with the backup that takes normally one hour. That way, RMAN gets throttled down, causing roughly half the load on the system than otherwise.

In another scenario, let’s suppose that you want to limit the backup run to take only 30 minutes every night, because you want to run a batch job afterwards that must not be impacted by the backup. Without the limit, backup takes one hour. You are fine with backing up only half of your datafiles every night. This command does the trick:

RMAN> backup duration 00:30 partial minimize time database 
      not backed up since time='sysdate-1' filesperset 1;

RMAN will backup as many datafiles as possible within 30 minutes, generating one backuset per datafile. It stops after 30 minutes. Tomorrow, the remaining datafiles are being backed up. Drawback is that it takes longer in case to recover the datafiles that have two days old backups.

This is one little topic from the Oracle Database 12c Backup and Recovery Workshop that I deliver this week in Prague. Great city, by the way 🙂


  1. #1 by jmheuls on September 14, 2016 - 13:22

    Just a question : What’s happen in the first example if the backup isn’t finished after 2 hours?

    Thanks in advance

  2. #2 by krishna on September 14, 2016 - 17:32

    Please tell me,What will happen I enable block change tracking with Duration option.

  3. #3 by The Oracle Guy on September 15, 2016 - 21:18

    Thanks for the excellent post. These lesser known features can really help adjust impact on users & applications

    A question, can you set reduce impact dynamically? Example: for a 6 hour backup have reduced impact for two hours then engage normal impact?


    Sent from my Remote Device


  4. #4 by Pierre on December 12, 2019 - 20:58

    So how do you know when you’ve backed up the whole db?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: