2 Replies Latest reply: Aug 18, 2013 4:35 PM by PANOU RSS

    RMAN - Find orphaned incremental level 1

    PANOU

      Hi all,

       

      I'm using Oracle 11gr2 (11.2.0.1) on Windows 2008 R2 (standalone without ASM)

      I'm currently implementing a backup strategy using incremental level 0 and level 1.

      I tried to manually delete (OS command) my only one incremental level 0 and then run a crosscheck.

      The backup level 0 is no longer referencing in the catalog so everything's right.

      The problem I'm facing is how can I find the incremental level 1 which haven't got a level 0 ? (and so are useless).

       

      Basically my strategy is as following :

      Once a week => Incremental level 0 to Disk then backup backupset to tape (push the backupset on disk to tape in the same run block)

      Every day => Incremental level 1 to disk then backup backupset to tape

      Every 2 hours => backup archivelog all to disk then backup backupset to tape

      Retention policy => 7 days

       

      I really enjoy the feature "backup backupset" so that I've got 1 backup on disk and a copy on tape if needed (making the job to backup the database only once !)

      One drawback is in case RMAN can't backup on disk. Then, the backup on tape failed as well because it depends on the disk backup.

      What I did is, in case of error the script automatically run the command => "backup device type sbt not backed up incremental level 0 database plus archivelog"

      So everything not backed up on tape gets backed up even if the backup on disk fails (archivelog are more concerned since I should always have an incremental level 0 on tape in my production environment)

      In the case I manually drop the incremental level 0 and run a crosscheck, RMAN doesn't backup datafiles (for a new incremental level 0) because of the incremental level 1 (RMAN considers backup exist and so skip datafiles).

      But since I haven't got any incremental level 0, incremental level 1 are useless.

      How can I ask RMAN to delete all unusable backup and archivelog ?

      I couldn't find any information in the documentation nor forums.

      The only "solution" I see is to frequently run a script which check the result of "report need backup" in order to be alerted in case of a needed backup (but needs a manual action).

       

      Thanks all for any advice.

      Regards

        • 1. Re: RMAN - Find orphaned incremental level 1
          DK2010

          Hi,

          >>In the case I manually drop the incremental level 0 and run a crosscheck, RMAN doesn't backup datafiles (for a new incremental level 0) because of the incremental level 1 (RMAN considers >>

          >>backup exist and so skip datafiles).

           

          It depend on the level 1 backup  setup would be  either cumulative or  differential if cumulative it will always check for  latest level 0 backup. seems in your case is it is differential which check either  most recent level 0 or level 1

           

          >>But since I haven't got any incremental level 0, incremental level 1 are useless.

          >>How can I ask RMAN to delete all unusable backup and archive log ?

          You can use 

          DELETE OBSOLETE: backups are in RMAN repository that are obsolete, that is, no longer needed

          DELETE EXPIRED  : RMAN marks as expired when  run crosscheck command and the files are absent or inaccessible.

           

          For more detail you can check the doc:BACKUP

           

          HTH

          • 2. Re: RMAN - Find orphaned incremental level 1
            PANOU

            Thanks for replying.

             

            I do understand the differences between differential and cumulative but this is not what I'm looking for.

            I run a crosscheck (archivelog all and backupset) before each backup.

            My problem is that at a point in time I can run without an incremental 0 (lost or deleted from disk), an incremental 1, do a crosscheck so that Oracle is aware that only an incremental lvl 1 exist without a "parent" level 0 ( I think that cumulative or  differential doesn't matter), then ask to Oracle to "backup not backed up incremental level 0" and get an answer from RMAN saying "everything's ok, I've nothing to do" which is obviously wrong.

            I found a blog related to this "problem" => Database Specialists » Don’t Fall Into This RMAN Trap

             

            Regards,