Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I have done the following steps:

  1. Backed up database with INCREMENTAL LEVEL 0
  2. Delete INCREMENTAL LEVEL 0 backup without telling controlfile. So deleted it by hand. And did not make crosscheck.

  3. Backed up database with INCREMENTAL LEVEL 1(without making crosscheck). How surprising it may be, log showed me that INCREMENTAL LEVEL 1 was successfully done.

Note, I have no INCREMENTAL LEVEL 0 backup, but controlfile doesn't know it. I have just INCREMENTAL LEVEL 1.

I tried to restore database with this backup but of course couldn't. It was telling me that no backup of datafile 1-5 found...

If controlfile had known about EXPIRED backups , then INCREMENTAL LEVEL 1 backup first would do INCREMENTAL LEVEL 0 and after-that INCREMENTAL LEVEL 1.

How to avoid this situation. Do I have to use chrosscheck in my backup script? Or set recovery window in RMAN?

I have Oracle 11g database. Backup is taken by Netbackup Server. So Netbackup deletes backups itself by its retention. RMAN retention policy is configured to REDUNDANCY 2.

Please, Advice me.

share|improve this question
    
This shouldn't be too hard to test. Do a CROSSCHECK and then see if it allows you to create an incremental 1 backup when it knows the 0 doesn't exist. –  Leigh Riffel Jun 27 '12 at 12:27
    
@LeighRiffel I have already tested and after crosscheck it made inc 0 backup first and then inc 1. (without crosschek it makes inc 1 just) I just wonder to know how you do when using Netbackup as backup server. Do you use crosscheck in backup script? I was not using crosscheck but after founding that inc 1 may be done with no errors even u don't have inc 0 which means that you are not able to restore database because u don't have all backups AND you don't know about this! :( –  kupa Jun 27 '12 at 14:38

1 Answer 1

up vote 2 down vote accepted

Yes, if you want to prevent a level 1 from being created without a corresponding level 0 being available, then you need to do a crosscheck in the script so RMAN knows that the level 0 is not available.

Prior to 10g (or with compatibility < 10.0) Oracle would do a level 0 when a level 1 was done without a level 0. Since you are on 11g, I would expect your compatibility to be >=10.0, so RMAN "copies all blocks that have been changed since the file was created". This behavior seems to have changed between versions and there is some confusion as to what the current behavior is, but your findings are consistent with the documentation.

share|improve this answer
    
thank you for you responce. But the following sentence confuses me: "copies all blocks that have been changed since the file was created" Which file is mentioned? which file was created? Thank you –  kupa Jun 28 '12 at 16:23
    
one more question: Do I need to indicate recovery windows in RMAN? –  kupa Jun 28 '12 at 16:28
    
I believe "the file" is referring to the datafile. –  Leigh Riffel Jun 28 '12 at 17:09
    
Retention policy information can be found at docs.oracle.com/cd/E11882_01/backup.112/e10642/… –  Leigh Riffel Jun 28 '12 at 17:11

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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