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: About rollback consumption

Re: About rollback consumption

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Thu, 28 Sep 2000 13:50:17 +0100
Message-ID: <970145689.20485.0.nnrp-07.9e984b29@news.demon.co.uk>

Howard,

Your comments about rollback block usage aren't correct (at least in 8.1.5), although it is possible to produce experiments that make them look correct.

Consider the following screen dump - which I contrived by reducing a database to having a single non-system rollback segment. The camera did not cut away whilst this screen dump was going on ...

SQL> insert into junk values (1);

1 row created.

SQL> select start_ubafil, start_ubablk, start_ubarec from v$transaction;

START_UBAFIL START_UBABLK START_UBAREC
------------ ------------ ------------

           3 116 16

SQL> commit;

Commit complete.

SQL> insert into junk values (1);

1 row created.

SQL> select start_ubafil, start_ubablk, start_ubarec from v$transaction;

START_UBAFIL START_UBABLK START_UBAREC
------------ ------------ ------------

           3 116 17

SQL> commit;

Commit complete.

As you can see, there are likely to be multiple rollback records available within a rollback block, and it is possible for one transaction to end leaving space in a rollback block that another transaction can acquire. I have two consecutive transactions which have used the same rollback block.

However, you may find that two processes cannot use the same rollback block simultaneously (I haven't actually checked that in 8.1 - it used to be true), and block usage in rollback segments always moves on, so if you tried to repeat the test on a system where there were always twice as many active transactions as rollback segments, then you would get results that suggested that any transaction had to use a whole rollback block.

--

Jonathan Lewis
Yet another Oracle-related web site:  http://www.jlcomp.demon.co.uk

Howard J. Rogers wrote in message <39d324af$1_at_news.iprimus.com.au>...


>> INSERT (?)
>> DELETE (?)
>> UPDATE (?)
>>
>> I write them in a supposed growing consumption order. Can anyone confirm
>> that ?
>>
>
>Also not true. A rollback block stores the prior image of the data. The
>before image of an insert is the rowid where the insert is to take place.
>Which is trivial in size -but it would still require an entire rollback
>block.
>
Received on Thu Sep 28 2000 - 07:50:17 CDT

Original text of this message

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