Re: Fast roll-back

From: Jonathan Lewis <jonathan_at_jlcomp.demon.co.uk>
Date: Fri, 23 Jan 2009 12:33:36 -0000
Message-ID: <at-dnTpj0bCCJOTUnZ2dnUVZ8rydnZ2d_at_bt.com>


"astalavista" <nobody_at_nowhere.com> wrote in message news:4978dca3$0$15296$426a74cc_at_news.free.fr...
> Hi,
>
> Why, where a roll back occurred, it is faster
> to reboot the database instead of waiting the end
> of the roll-back ?
>
> Thanks for your lights
>
>

You may be thinking of something like the following:

If a process issues a rollback; then all the rows it had locked will stay locked until the entire rollback is complete.

If the session is killed or the database is restarted (before the process commits its transaction) then smon handles the rollback. But if some other user process needs to update some of the inconsistent data, it can detect that it's looking at blocks that are in need of rollback and perform a "localised" rollback against just those blocks.

This means that killing a session (or in your extreme case bouncing the database) can allow other work to resume faster than it could if you waited for a process rollback to complete.

It's possible that in earlier versions of Oracle, this "localised" rollback could take place only at database restart. In modern versions it can happen after a "kill session". Of course, it won't necessarily be the case that killing a session will help.

-- 
Regards

Jonathan Lewis
http://jonathanlewis.wordpress.com

Author: Cost Based Oracle: Fundamentals
http://www.jlcomp.demon.co.uk/cbo_book/ind_book.html

The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/faq/ind_faq.html
Received on Fri Jan 23 2009 - 06:33:36 CST

Original text of this message