-
Recovery
Consider the follwing scenario,
A commit checkpoint say ChkPt1,Which updates the datafile,redo log file & control file header with
the current SCN.Suppose if any recovery is required,it'll happen upto this SCN value.
After some point of time,another Checkpoint(say ChkPt2) is issued manually,now all the uncommited
data is written to the files in the disk & updates the datafile,redo log file & control file header
with the current SCN.
Suppose if now recovery is required,
1) Will oracle recover to SCN recorded at ChkPt1 or to SCN recorded at ChkPt2?
2) If it've to recover till SCN recorded at ChkPt1,where it'll get that info,since
datafile,redo log & control file headers are updated with the SCN value occurred
at ChkPt2?
3) In this scenario,what will be the role of rollback segment,how & what info it provides
required for this scenario?
I'm very much confused by this scenario/doubt for a long time,please anyone clear it.
-
Now, what is a "Commit Checkpoint"? Each commit won't fire a checkpoint...
1. What recovery you are talking about? Instance recovery - Upto the last commited Transaction - based on SCN. Checkpoint will decide how much time require to roll forward the transactions during instance recovery ( influenced by MTTR target prameter).
2. It should be from control file and data file header
3. Roll forward using redo log and rollback is using RBS. RBS Tablespace may recover using redo
-
I'm going to assume an instance failure, not a media failure.
1. Oracle will recover all data. It will play the redo log forward, applying redo. It plays it forward to the point recorded for the redo logs last write position which is stored in the controll file and using the Checkpoint information stored in the datafile header and scn numbers stored in the blocks.
Once that completes then all uncommitted transactions will be rolled back.
2. See 1.
3. Oracle uses the RBS to rollback the uncommitted data. The rollback datafiles are rolled forward just like any other file. Then all uncommitted transactions are rolled back.
One exception is for lob data. Oracle does not record undo information for blob/clob datatype data that is out of row. A different technique is used to handle this rollback.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|