DBAsupport.com Forums - Powered by vBulletin
Results 1 to 3 of 3

Thread: Recovery

  1. #1
    Join Date
    Feb 2006
    Posts
    162

    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.

  2. #2
    Join Date
    Apr 2001
    Location
    Bangalore, India
    Posts
    727
    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
    Thomas Saviour(royxavier@yahoo.com)
    Technical Lead (Databases)
    Thomson Reuters (Markets)

    http://ora600tom.wordpress.com/

  3. #3
    Join Date
    Jun 2006
    Posts
    259
    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
  •  


Click Here to Expand Forum to Full Width