Implement parallel rollback with the Fast-Start feature.
Fast-Start Parallel Rollback
Implement Fast-Start Parallel Rollback
More processes mean better performance. This is the coda behind Fast-Start parallel rollback.
Oracle background processes coordinate and roll back a set of transactions by using multiple server processes.
Whenever a large number of transactions (like INSERT, UPDATE, and DELETE statements) have not been committed, Fast-Start parallel rollback becomes very important.
When the System Monitor process realizes that a large number of transactions must be rolled back, and it is faster to roll back in parallel than serially, the System Monitor starts multiple server processes, rolling back the transactions. Each server process handles one transaction and the performance is improved.
One transaction divided among several processes
Fast-start parallel rollback has a special feature called intra-transaction recovery, whereby a single transaction is divided among several processes.
This happens when one transaction is large, meaning it takes longer for one process to roll this transaction back than for the other processes to roll back their transactions. Oracle automatically begins intra-transaction recovery by dispersing the large transaction among the processes.
Setting the parameter FAST_START_PARALLEL_ROLLBACK to one of the following three values controls the number of processes involved in transaction recovery:
FALSE: Turns off Fast-Start parallel rollback
LOW: Specifies that the number of recovery servers may not exceed twice the value of the CPU_COUNT parameter
HIGH: Specifies that the number of recovery servers may not exceed four times the value of the CPU_COUNT parameter
An instance is recovered using RMAN, by issuing the RECOVER command.
This is called “Fast-Start-parallel rollback,” and you must define the degree of parallelism while issuing the command.
Initialization parameter file
Determining the Parameter Setting
The following illustration is an example of an initialization parameter file (INIT.ORA).
Based on this information you will need to determine the parameter setting for Fast-Start-parallel rollback: false, low, or high. Click the View Image button to see the illustration.
The value assigned is LOW. By using this value, the number of processes created to perform parallel rollback will be twice the number of CPU’s within the host machine containing the database.
If there are 4 CPU's within the host machine, the number of processes that will be created is 8.
Afer adding the parameter within INIT.ORA, shut down and restart the database for the parameters to take effect. Implementing this parameter within the database
instance ensures faster recovery of non-committed transactions.
FAST_START_PARALLEL_ROLLBACK
Property
Description
Parameter type
String
Syntax
FAST_START_PARALLEL_ROLLBACK = { HI | LO | FALSE }
Default value
LOW
Modifiable
ALTER SYSTEM
Basic
No
FAST_START_PARALLEL_ROLLBACK specifies the degree of parallelism used when recovering terminated transactions. Terminated transactions are transactions that are active before a system failure. If a system fails when there are uncommitted parallel
DML or DDL transactions, then you can speed up transaction recovery during startup by using this parameter.
Values:
FALSE- Parallel rollback is disabled
LOW- Limits the maximum degree of parallelism to 2 * CPU_COUNT
HIGH - Limits the maximum degree of parallelism to 4 * CPU_COUNT
If you change the value of this parameter, then transaction recovery will be stopped and restarted with the new implied degree of parallelisme.
The next lesson explains how to set up an automated standby database.