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: DBWR and LGWR processes, theoretical question

Re: DBWR and LGWR processes, theoretical question

From: Karen Abgarian <abvk_at_ureach.com>
Date: Mon, 04 Nov 2002 07:51:00 GMT
Message-ID: <3DC607EE.35DC12A7@ureach.com>


> At this point of time the server crashes and let us assume the last redo
> log file is corrupt (simple example, no redo log file groups).

This is the worse-case scenario out of the list of failures in Oracle. Not sure what you mean by "no redo groups", but lets assume a hardware failure. There is a number of recovery scenarios, which differ by the types of redo log files that go bad - whether they are active, current, archived and so on. What I suggest, that you get a Backup/Recovery book by Rama Velpuri. It is a backup/recovery classic. I like more its Oracle 7 version, but to stay current with RMAN and stuff get the latest one.

Oracle does not loose committed data. Trying to explain it simple, any commit request does not return to you until the record of the transaction is written to the log file, redo log file. Oracle chose to do that to provide for the possibility of recovering any database. It is a big decision, because at the same time it limits the performance of any transaction to the time of I/O - that is, from microseconds to milliseconds, 1000 times or more.

>
>
> What if i use two redo log file groups. Now i have at least one
> corrupted redo log file. Does Oracle check if a redo log file is
> correct? How is it done?

You need to clarify what kind of corruption you mean. If there is a hardware failure and you have two members on different disks, oracle can simply assume that the one that did not experience the hardware failure is correct. If you mean there is a physical corruption somewhere at the hardware level, that does not return and I/O error but corrupts your data, then oracle has no way to determine which one is correct. This is corrected by patches to the OS code. If there is a corruption at Oracle that renders writing corrupt information to the redo files, this is fixed by applying patches to Oracle. To some extent, you can check what's being written by setting a parameter to check blocks as they are written. Received on Mon Nov 04 2002 - 01:51:00 CST

Original text of this message

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