Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: What's in a Rollback Segment?
Richard, I thought that the block, once used, was dedicated to that
transaction but that multiple transactions can share the same extent
in the RBS. The extent remains active whilst *any* of the
transactions that wrote to it are still alive - that's the purpose of
the "interested transaction list" in the extent header.
Only when all transactions are committed or rolled back can the extent be re-used - until that time, the RBS will extend for further transactions and not wrap around to reuse existing allocated extents.
Am I even close in that understanding?
Jeremy
On Sat, 20 Jul 2002 17:52:41 +1000, "Richard Foote" <richard.foote_at_bigpond.com> wrote:
>Hi Howard,
>
>Just the row being updated and "overhead" to identify the undo data.
>
>I read somewhere (although I've never bothered to check this) that a
>rollback block *can* be shared by other transactions. They can't be shared
>concurrently but can be used after the first transaction has complete (and I
>don't mean clobbering the first transactions undo, I mean using the unused
>bit and having both transactions (or more) redo available).
>
>Myth or legend, I'm not sure.
>
>Regards
>
>Richard
>"Howard J. Rogers" <howardjr2000_at_yahoo.com.au> wrote in message
>news:ahb40d$e8f$1_at_lust.ihug.co.nz...
>> It's just the column of the row being updated. Your few-byte transaction
>is
>> thus going to occupy an entire 8192 bytes of a rollback segment (ie, a
>> transaction always occupies an entire rollback block, however small it is
>in
>> itself).
>>
>> Regards
>> HJR
>>
>>
>> "Jeremy Russell" <jeremy.russell-NOTMYREALADDRESS_at_usa.net> wrote in
>message
>> news:3d39010b.50393862_at_usenet.plus.net...
>> > OK, maybe it's too early in the morning, and maybe I'm just dumb, but
>> > what - in detail - is written to a rollback segment in Oracle 8i? I
>> > understand that a rollback segment records undo info for a transaction
>> > (used Oracle long enough for that level of comprehension at least!),
>> > but it was my understanding that the entire block would be written out
>> > for potential read consistency, recovery, rollback purposes.
>> >
>> > However, I have a feeling that may not be true.
>> >
>> > If I issue
>> >
>> > UPDATE emp SET ename='RUSSELL' where empno=7369;
>> >
>> > does the entire block where this employee resides get written, is it
>> > the entire row or is it just the changed column?
>> >
>> > If there's a link somewhere (technet or otherwise) that explains this,
>> > please let me have that, rather than taking up newsgroup bandwidth.
>> >
>> > TIA
>> >
>> > Jeremy Russell
>>
>>
>
>
Received on Sat Jul 20 2002 - 03:29:37 CDT
![]() |
![]() |