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

Home -> Community -> Usenet -> c.d.o.misc -> Redo logs and recovery revisited

Redo logs and recovery revisited

From: <cary_at_nams.net>
Date: Wed, 10 Mar 1999 17:53:46 GMT
Message-ID: <7c6bj5$26m$1@nnrp1.dejanews.com>


Hello,

  Could someone please clarify some aspects of data consistency and recovery for me or point me toward an appropriate source of info? I've finished reading the Oracle Server Concepts text and still have some questions regarding transactions, rollback segments, redo logs, SCN's, etc. Specifically:

  1. There is a 1-to-1 correspondence between a SCN and a transaction, yes?
  2. Are SCN's recorded anywhere besides the internal transaction table of the transaction's associated rollback segment? Are SCN's indirectly recorded in the online redo log since changes to rollback segments are recorded in the online redo log? Isn't a transaction's SCN also written directly to the online redo log upon transaction commit? Why is this?
  3. How does Oracle directly associate individual redo entries in the redo log files w/specific transactions, or does Oracle do this at all? Is it not necessary since this info resides in the rollback segment transaction tables, which can be regenerated from the redo log?
  4. During a recovery operation, the first step is to roll forward from the last full backup using the necessary (determined from the LSN's) redo log files. What are the specifics here? All the redo log files are applied before rollback, yes? Are absolutely all of the redo entries (committed and uncommitted) applied? In the process of rolling forward, does Oracle grab ALL of the undo information from rollback segment redo entries in order to generate the deferred rollback segments? How does Oracle identify rollback segment redo entries? What are the specifics of rolling back using the deferred rollback segments? In what order are they checked, and what exactly is done with them? Does Oracle simply search them for uncommitted transactions and apply the undo info? If so, how does Oracle prevent the undo-ing of an uncommitted transaction from affecting the same data modified by a later committed transaction?
  5. What exactly happens when a user issues a ROLLBACK? I understand (more or less) how the rollback segments are used to undo the SQL in the transaction. Do the undo changes also generate redo entries in the redo log? This is my understanding, but I would like confirmation.

I'm sorry about the length of this post, but I hope that there are others who would benefit from the answers to these various questions. Thanks in advance.

Cary

-----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own Received on Wed Mar 10 1999 - 11:53:46 CST

Original text of this message

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