Rollback « Różności …

Różności …

19 kwietnia 2016

Rollback

Zaszufladkowany do: Oracle — Tagi: — Jacek @ 09:08

What will happen to rollback session if database shutdown immediate/abort?

Na to pytanie udzielono już odpowiedzi.

bk75 Newbie

bk75 2009-11-28 15:58

I have a long running rollback session after i killed it. The status of session is ‘KILLED’ and when I check the v$transaction, it will take almost 24hours to complete rollback. We cannot wait for so long because we have other dependencies job need the rollback to be completed faster. At the end, we plan to shutdown immediate. Will this help? What will happen to the rollback session if we issue shutdown immediate or shutdown abort? Will the rollback completed successfully?

Hemant K Chitale

Prawidłowa odpowiedź przez Hemant K Chitale dnia 2009-11-28 16:15
If you SHUTDOWN ABORT when there are very many active transactions or transactions being rolled back, then the default FAST_START_PARALLEL_ROLLBACK that occurs on the subsequent Instance Startup will actually mean that the Rollback is executed faster.
However, if it is a single large transaction such as a DELETE against a table with an Index, then it is better to disable FAST_START_PARALLEL_ROLLBACK before restarting the Instance immediately after a SHUTDOWN ABORT. The Parallel Rollback of a single large transaction with an Index can be slower !

FAST_START_PARALLEL_ROLLBACK is an instance parameter which default to LOW (ie a setting of 2 x CPU_COUNT) and can be set to HIGH or FALSE.

Note : If you SHUTDOWN ABORT and STARTUP the database, Oracle only has to do a Rollforward from Redo Logs (for database blocks that haven’t been updated) before it does an OPEN. This is generally a very fast operation. The Rollback of uncomitted transactions is a deferred operation — this means that the Rollback is initiated by SMON or the Parallel Slaves after the Database is OPEN. If a block containing a row that was updated and not committed is referenced by a database session after the OPEN but before it has been rolled back, Oracle does an expedited rollback for that row of the block and then continues doing the rollback of other rows in the background.

Thus, if the transaction had been on Table “A” and the database is SHUTDOWN ABORT and STARTUP, then users can continue accessing and updating all other tables other than Table “A” while the transaction is being rolled back, in the background, after the OPEN.

Hemant K Chitale

Source:
https://community.oracle.com/thread/995750?tstart=0

Brak komentarzy

Brak komentarzy.

Kanał RSS z komentarzami do tego wpisu.

Przepraszamy, możliwość dodawania komentarzy jest obecnie wyłączona.

Strona startowa: www.jaceksen.pl