Forum Stats

  • 3,874,157 Users
  • 2,266,675 Discussions
  • 7,911,745 Comments

Discussions

In Memory Undo

676285
676285 Member Posts: 6
edited Dec 23, 2010 7:44AM in General Database Discussions
Hi All.
Does IMU generate redo for ALL data changed?

I guess that in case of the IMU transaction undo segment header is modified at the begining ( for ITL entries) and so that would need redo.
But since the actual IMU is in the shared pool, no redo is generated , and when an IMU flush happens the proper undo block is updated with the "collapsed" data.
I went through two quality materials on this subject
http://www.oracle.com/education/america_eblasts/fy09/q1/craig_shallahamer_all_about_oracle_s_in_memory_undo.pdf
and
http://www.teamycc.com/RMOUG_2008_Conference/PDF/Haisley.pdf

Both seem to suggest that redo is generated, but the wordings in the second paper suggests that ALL redo for the undo "blocks" are recorded in the redo stream, whereas the first paper suggests that redo is generated only for the "collapsed" values.
I am doubting whether my confusion arises out of the "throwaway" undo and "normal" IMU operations.
Any assistance would be welcome and thanks in advance!!

Edited by: indhar on Dec 13, 2009 6:39 PM

Edited by: indhar on Dec 13, 2009 6:40 PM
«134

Answers

  • damorgan
    damorgan Member Posts: 14,464 Bronze Crown
    redo only captures information for committed transactions.
  • damorgan
    damorgan Member Posts: 14,464 Bronze Crown
    If I read the links you posted correctly using this feature requires setting an underscore initialization parameter.

    And Oracle's official statement about changing these without authorization could not be much clearer.

    So where's the issue?

    If Oracle tells you to change it ask them. If they didn't leave it alone.
  • Pavan Kumar
    Pavan Kumar Member Posts: 11,904 Gold Crown
    Hi,
    Both seem to suggest that redo is generated, but the wordings in the second paper suggests that ALL redo for the undo "blocks" are recorded in the redo stream, whereas the first paper suggests that redo is generated only for the "collapsed" values.
    I am doubting whether my confusion arises out of the "throwaway" undo and "normal" IMU operations.
    Any assistance would be welcome and thanks in advance!!
    AFAIK, Undo will not be recorded in Redo until the transactions are committed. See Advantage of IMU, its removing of burden of Maintaining the Chain of Undo buffer Management Separately in memory, instead of that existing IMU is maintaing with help of pointer and updating the ITL with the memory. So it will be advantage when compared to regular flow

    - Pavan Kumar N
    Oracle 9i/10g - OCP
    http://oracleinternals.blogspot.com/
  • 676285
    676285 Member Posts: 6
    Thanks for the replies Daniel.
    My objective was to have a clearer understanding of the implementation rather than implementing it rightaway.
  • redo only captures information for committed transactions.
    No..but it capture all changes whether they are committed or not committed
  • 676285
    676285 Member Posts: 6
    Yes Pavan, I do appreciate the advantages of IMU.
    I got my doubts on those very particular words and since there were two types of IMUs discussed!!
    So, I guess that from Mr.Haisley's paper, I should take it to mean as
    " All the physical undo blocks, that would actually be written into during the commit/IMU flush, would be in the redo stream"
  • 676285
    676285 Member Posts: 6
    I think Daniel was talking in the IMU context and not in the general context, that you are (hopefully) alluding to... :)
  • Maran Viswarayar
    Maran Viswarayar Member Posts: 6,130
    edited Dec 13, 2009 11:53PM
    AFAIK, Undo will not be recorded in Redo until the transactions are committed.
    It records every thing in the Redolog and when the transaction is commited it creates another redo record to mark the trnsaction as committed...

    Edited by: Maran Viswarayar on Dec 14, 2009 12:53 PM
  • Daniel/Pavan..

    I am sorry guys..i didnt read them properly...
  • Aman....
    Aman.... Member Posts: 22,919 Gold Crown
    AFAIK , the redo is generated for all teh data. For IMU, there is a private region available in the shared pol thatmaintains it.

    Just for the sake of reference, I too did talk about it. I would welcome you to read and if possible, comment as well correct too.
    http://blog.aristadba.com/?p=17

    HTH
    Aman....
This discussion has been closed.