Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Row Migration

Re: Row Migration

From: kvmb <kvmb_at_nospam.be>
Date: Wed, 18 Jul 2007 16:35:25 GMT
Message-ID: <hjrni.3670$W32.225351@phobos.telenet-ops.be>


Oracle uses the pointer because otherwise all indexes on that table would have to be updated to reflect the new row address. That would mean more IO (update table + index blocks + undo blocks + redo) for a transaction.

"Rahul" <rahul.nimmagadda_at_gmail.com> wrote in message news:1184775664.057413.33100_at_i13g2000prf.googlegroups.com...
> Hello all,
>
> I have the following doubt regarding Row Migration. First let me
> explain my understanding of Row Migration -- When the space in a
> particular block is not sufficient to accommodate a row growing as a
> result of an update operation because of the low value of PCTFREE,
> results in Row Migration. Then the oracle server will move the entire
> row to a new block and leave a pointer from the original block to the
> new location. This results in the decrease of I/O performance.
>
> My Query --
> Instead of having a pointer from the original block to the new block,
> why doesn't oracle server delete the information about that particular
> row in the row directory slot of the original block and put the
> information about the row in the row directory slot of the new block
> as it is anyway moving the entire row to a new block. This can
> increase I/O performance as the number of I/Os required are less than
> the previous scenario.
>
> Thanking you,
> Rahul.
>
Received on Wed Jul 18 2007 - 11:35:25 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US