Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Unusually high number of current mode reads for a GTT insert
Notes inline
-- Regards Jonathan Lewis http://www.jlcomp.demon.co.uk The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html March 2004 Hotsos Symposium - The Burden of Proof Dynamic Sampling - an investigation March 2004 Charlotte OUG (www.cltoug.org) CBO Tutorial April 2004 Iceland June 2004 UK - Optimising Oracle Seminar "srivenu" <srivenu_at_hotmail.com> wrote in message news:1a68177.0403022222.47899f13_at_posting.google.com...Received on Wed Mar 03 2004 - 02:14:22 CST
> Whereas for an update, each block is pinned in current mode once for
> every row updated. so if you have to update 10 rows in a block, the
> block in pinned in current mode 10 times. There must be some reason
> why all the rows in a block are not updated at one go while the block
> is pinned in current mode.
On an update, Oracle Generates a redo record for the log buffer acquires space in the log buffer pins the undo block and the data block writes the record into the log buffer updates the undo block updates the data block releases the pins Then repeats the process for each index affected by the row update. It would not be a trivial exercise for Oracle Corp. to modify the code to handle multiple updates to a single block as a single event. However, it does appear to have been done in (at least some cases in) 10g.