Hi, I would like to push this further if I could.
> > - Oracle only writes the old data for the single column I updated
> > - This data still writes an entire block to the RBS
> > - That block is reserved thereafter for that transaction until it
> > commits or rolls back.
>
>
> That about sums it up. Mr Foote has pointed out a subtlety I didn't want to
> get into, which is that transactions can share the same rollback block from
> (I think) 8.1.6 onwards.
>
- It is not clear to me. So does ORACLE write "the whole data block
that contains that particular row" to RBS? Or does ORACLE write "just
that particular row of data to RBS which will allocate at least one
block at the beginning of the transaction, and this RBS block can be
used to accomodate more old data from the same transaction"?
- The direct insert. RBS usage seems less complicated here. Just some
undo info for the dictionary.
- The regular insert. Less undo info than update. More than direct
insert. What is the delta in the RBS usage between regular and direct
insert? Exactly what is written to the RBS during inserts?
- The delete. The amount of undo generated is comparable to that of
the update, IIRC. I would imagine ORACLE would just do a whole-sale
copy of the old data blocks to the RBS. Right?
Received on Sun Jul 21 2002 - 15:06:21 CDT