I'm using Oracle 11gr2 (184.108.40.206) 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.
>>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
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 &raquo; Don&#8217;t Fall Into This RMAN Trap