3

Got a pretty big instance on a one-week backup cycle with an incremental (differential) strategy .. or rather, that's what it was supposed to be. Somehow the daily differentials seem to come out as cumulative!? The size of our instance means that this is a bit of a problem - daily backup window in excess of 3 hours is not acceptable at the end of the week.

Our schedule: Once every week we do an

backup incremental level 0
  as copy tag 'sometag'
  skip readonly
  database;

and once a day

backup incremental level 1
  for recover of copy tag 'sometag'
  database plus archivelog;

We've configured block-change-tracking for the database

The problem is, that the result is a cumulative incremental backup, which means an increasing backup-window every day, with a reset in the weekends.

What are we doing wrong?

Thoughts:

  • Change Tracking is getting screwed up?
  • Strategy incompatible with image copies?
2
  • Can you check change tracking is enabled select STATUS from V$BLOCK_CHANGE_TRACKING; and edit your post with the output of an RMAN SHOW ALL;. Cheers.
    – Philᵀᴹ
    May 15, 2012 at 12:12
  • 2
    Hang on, you're using image copies. Do you do a RECOVER COPY OF DATABASE WITH TAG 'sometag'; to roll the copied datafiles forward?
    – Philᵀᴹ
    May 15, 2012 at 12:21

1 Answer 1

3

You are doing a differential incremental backup rather than cumulative, but the syntax for recover of copy tag 'sometag' indicates that you plan to incrementally update an image file backup. Phil was on the right tack with the missing RECOVER COPY OF DATABASE WITH TAG 'sometag'. Since you are not running this each incremental must be able to recover the un-updated tag 'sometag' causing it to grow each day as though CUMULATIVE were specified.

See Backup Sets and Image Copies in the Concepts Guide and see Incrementally Updating Backups in the Backup and Recovery User's Guide (11.2). If your intention was to use incrementally updated image copies you will want something more like this:

  RUN
  {
    RECOVER COPY OF DATABASE 
      WITH TAG 'incr_update';
    BACKUP 
      INCREMENTAL LEVEL 1
      FOR RECOVER OF COPY WITH TAG 'incr_update'
      DATABASE;
  }

If you didn't intend to do this, then simply remove the for recover... syntax.

1
  • Well doh :o) Thank you for the clarification.
    – mikkel
    Jun 6, 2012 at 9:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.