Last week I gave an internal 2-days dba course. All three students had good experience of filesystem backup and unix, but hardly any oracle experience.
I figured out recovery is more complex than I thought! By explaining to other, how often do you realise do you do not know the answer yourself? It has been very educative to me too…
First inconsistency I discovered :
I tried to simulate a disaster by removing all controlfiles, redologs, datafiles. I expected the students to notice “something”. But, O Surprise, the db kept running, nothing written in alert logs, it was possible to create and drop tables, nothing went wrong (but they were no files). Probably the OS has not notified the file were no more there, and Oracle opened the files already. Strange. Even SHUTDOWN has been successful! But of course STARTUP did not work.
Next time I prepare a B&R workshop, I must invest time to check that a disaster is effective!
Second inconsistency:
Report unrecoverable datafiles and validate backups. I wrote this in the rman technology forum this morning: REPORT NEED BACKUP is not suffisant to have consistent backups, nor RESTORE VALIDATE DATABASE!
More inconsistencies :
somehow, when users are doing backups with nocatalog and try to restore with the recovery manager catalog, it is not working. Well, it is not that surprising, but it really increases the difficulty of recovery procedures!
However, those “inconsitencies” were good in this informal training, feedback from students was positive, we did “survive” all those problems and they realised RMAN recovery is not as simple as RMAN backup…
I’m not sure, but I think RMAN assumes you still have all the files you have backed up [even if crosscheck shows them as missing] since you could have moved them off onto tape or CD etc.
I think if you wanted RMAN to tell you that you were missing a file you need to crosscheck [to set status to expired] and then “delete expired” before running “restore backup validate” or similar to check you have all relevant files.
I think this is so the actual file management can be performed by you using OS management tools, but the rman repository is not affected.
delete expired did not help
Un a unix system, the file still exists until the last process terminates or explicitly closes it. See “man 2 unlink”, e.g. on linux:
unlink deletes a name from the filesystem. If that name was the last link to a file and no processes have the file open the file is deleted and the space it was using is made available for reuse.
If the name was the last link to a file but any processes still have the file open the file will remain in existence until the last file
descriptor referring to it is closed.
thanks
Hi Laurent,
if you want to read about the new backup and recovery strategy for 10g pls see in my blog:
http://luhartma.blogspot.com/2006/02/why-restore-before-recover.html
Have a nice day in Geneva with AIS!
Lutz