Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Media recovery when using an old controlfile

Re: Media recovery when using an old controlfile

From: Arcangelo <arcangelo-c_at_yahoo.com>
Date: Wed, 25 Jun 2003 23:13:00 +1000
Message-ID: <3ef99fde$0$5429$afc38c87@news.optusnet.com.au>

"Norman Dunbar" <Norman.Dunbar_at_lfs.co.uk> wrote in message news:E2F6A70FE45242488C865C3BC1245DA703D46AF5_at_lnewton.leeds.lfs.co.uk...
> Morning Jurjen,
>
> I've never had to do one, and as far as I can remember, I've never even
> tried one, but assuming you are running in archivelog mode, then
> attempting a recovery with an OLDER version of the control file is going
> to leave you somewhat bolloxed !
>
> The controlfile(s) should never be restored if you wish to recover
> database because the current controlfile has the SCN number that is the
> current one. The old control file will have the old one. I've no idea
> whether Oracle will let you actually do this (and to be totally honest,
> I've got no time to try it out !)
>
> On the other hand, maybe I missed the point of your question !
>

I've missed the subtleties of the original post, but a couple of points:

Oracle does of course allow you to use an old controlfile to perform a recovery. What else would you expect to be able to do if a disk failure took out all your controlfiles and a datafile?

(Of course, multiplexing the controlfile should stop this happening, but I've seen many sites where you are told 'of course we multiplex them', only to discover that one copy is on C: drive, one is on D: drive, and both C and D are partitions on the same physical disk!).

The command 'recover database using backup controlfile' allows you to perform a complete recovery with an old controlfile. 'recover database until cancel using backup controlfile' allows you to do an incomplete recovery using an old controlfile.

In either case, the 'using backup controlfile' clause simply tells your server process not to bother reading the controlfile's SCN to determine the 'age' of the database, but to look at the datafiles themselves to find the highest possible SCN... that will be the point to which a complete recovery is then performed, for example.

Despite some posts I've seen here, the 'using backup controlfile' clause never needs to be supplied unless you've actually restored a binary backup of that file prior to starting recovery. But in a total loss of controlfiles scenario, it may well be that that's exactly what you have to do.

As to the original poster's question, I can't tell. He says he did a 'sort of' shutdown abort, but that actually consisted of copying the datafiles!! Don't even pretend to know how a copy can look like a shutdown abort.

Anyway: the error 'but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent' invariably means that not all datafiles were restored for the purposes of an incomplete recovery. Therefore, a (or possibly several) datafile(s) is/are at a time ahead of where the incomplete recovery is halted, and since they can't be rolled backwards in time, the database is doomed to be forever inconsistent. I suppose you could try a select from v$datafile_header to see what the SCNs are at, and check the copying procedures to make sure you haven't forgotten something.

;-* Received on Wed Jun 25 2003 - 08:13:00 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US