[Translated from mos] When the parallel transaction recovery process is running, disable the parallel transaction recovery method.

Source: Internet
Author: User

[Translated from mos] When the parallel transaction recovery process is running, disable the parallel transaction recovery method.


When the parallel transaction recovery process is running, disable the parallel transaction recovery method.
How to Disable Parallel Transaction Recovery When Parallel Txn Recovery is Active (Doc ID 238507.1)

Applicable:
Oracle Database-Enterprise Edition-Version 8.1.5.0 to 11.2.0.4 [Release 8.1.5 to 11.2]
Oracle Database-Personal Edition-Version 8.1.5.0 to 11.2.0.4 [Release 8.1.5 to 11.2]
Information in this document applies to any platform.


Symptoms:
Parallel Transaction Recovery takes a long time
You can use the USED_UBLK column in the V $ TRANSACTION View to estimate the rollback time, but there is no formula to calculate the time.
If you shut down the database after the rollback has been started, the rollback will start again at the stopped place.

You can check the comparison of the two columns in the V $ FAST_START_TRANSACTIONS view: UNDOBLOCKSDONE and UNDOBLOCKSTOTAL.

Changes:
A large transaction is killed or rolled back

Cause:
The parallel transaction recovery (parallel transaction recovery) is not as fast as the serial rollback, because the pq slaves process will interfere with each other (interfer)
This depends on the type of rollback, which generally occurs on roll back Parallel index update.

Solution:
Change parallel recovery to serial online. If the cluster environment is used, it must be modified on all instances at the same time.

1. Find the oracle pid of smon (note that it is not the OS pid)
SQL> select pid, program from v $ process where program like '% SMON % ';

PID PROGRAM
----------------------------------------------------------
6 oracle @ stsun7 (SMON)

2. disable smon transaction cleanup
SQL> oradebug setorapid 'smon' s Oracle PID ';
SQL> oradebug event 10513 trace name context forever, level 2

3. kill the pq slave processes that are executing parallel transaction recovery at the OS level. You can use V $ FAST_START_SERVERS to find these pq slave processes.

Select SPID from V $ PROCESS where PID in (select PID from V $ FAST_START_SERVERS );

Then kill the query result of the select statement above at the OS level: kill-9 spid

4. Disable fast_start_parallel_rollback.
Alter system set fast_start_parallel_rollback = false;

5. Restart transaction recovery (transaction recovery)
SQL> oradebug setorapid 'smon' s Oracle PID ';
SQL> oradebug event 10513 trace name context off


Aspnet running error: OleDbConnection does not support parallel transactions

You have used two connections in the transaction,
Solution: use one,
 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.