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: Indexes and rollback segments

Re: Indexes and rollback segments

From: Andrew Protasov <protasov_at_percombank.kiev.ua>
Date: Tue, 16 Jun 1998 09:58:14 +0300
Message-ID: <6m58dj$c43@post.percombank.kiev.ua>


Hi David,

Imagine such a situation. Oracle writes table data without index data to rbs during transaction. Then it changes table and index. User make rollback. Table data are restored but index data are not. Index does not correspond to the table after this. Who will rebuild index?

That is why they write table and index data to rbs during transaction.

Andrew Protasov

David Sisk wrote in message ...
>SCN's are assigned when the transaction is written to a buffer and redo
log.
>
>Think about your question. Why would you need to write the values from
>indexes into the rollback segment? The modified values from the table are
>written to the rbs, and these values are the same values (plus the rowid)
>that are physically stored in the index. In other words, if the value in
>column1 of table1 is "100", then the value in an index on column1 of that
>table will also be "100" (plus the rowid). It doesn't need to write
>anything to the rbs, because 1) if the index would be modified by the
change
>to the table, then the data that is changing in the table is the same data
>that would change in the index, so it's already recorded in the rbs, and 2)
>if the index would not modified by the change to the table, then there is
>nothing that would need to be recorded in the rbs.
>
>Make sense?
>
>Regards,
>Dave
>
>
>rtgraf_at_sintec.de wrote in message <6lqmbv$9mb$1_at_nnrp1.dejanews.com>...
>>Hi,
>>we have just been discussing the topic of Oracle Indexes and the rollback
>>segments. The Oracle documentation states that index entries are not
>>physically deleted but marked as "free". We understand that this is
>>necessary to reduce reorganization cost. Updated index entries are deleted
>>(i.e. marked as "free") and re-inserted.
>>The question now is: How *exactly* does Oracle ensure its multi-version
>>read consistency regarding the indexes?
>>Oracle Customer Support says that when writing to indexed tables, the
>amount
>>of around 180 bytes plus the before images of the indexed columns is
>written
>>to the rollback segment.
>>Does this mean that the index is completely created in the rollback
>segment?
>>Do long-running read transactions read index blocks from the rollback
>segment?
>>Are SCN-stamps used, just like in the data segment blocks?
>>How do these SCN-stamps work, anyway? (Are SCNs assigned when the
>transaction
>>starts or when it commits?)
>>
>>Just thinking and wondering a lot,
>>
>>Robert.
>>
>>-----== Posted via Deja News, The Leader in Internet Discussion ==-----
>>http://www.dejanews.com/ Now offering spam-free web-based newsreading
>
>
Received on Tue Jun 16 1998 - 01:58:14 CDT

Original text of this message

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