control file parallel write
This event occurs while the session is writing physical blocks to all control files. This happens when:
- The session starts a control file transaction (to make sure that the control files are up to date in case the session crashes before committing the control file transaction)
- The session commits a transaction to a control file
- Changing a generic entry in the control file, the new value is being written to all control files
Wait Time:
The wait time depends on how long the underlying IO's take to complete. There is no timeout on the waitevent.
|
Parameter |
Description |
|---|---|
|
files |
The number of control files to which the session is writing |
|
blocks |
The number of blocks that the session is writing to the control file |
|
requests |
The number of I/O requests which the session wants to write |
P1 , P2 and P3 are all set to the same value, which is the number of IO requests to the controlfiles. When Oracle updates the controlfile it updates all controlfiles with the same information at the same time. Finding Blockers:
There is no blocking session for "control file parallel write". The session is blocked waiting on the OS and its IO subsystem to complete the write to all controlfiles. The session performing the write to the controlfiles will be holding the CF enqueue so other sessions may be waiting on this enqueue.
Systemwide Waits:
If systemwide waits for this waitevent are significant then this either indicates numerous writes to the controlfile, or slow performance of writes to the controlfiles.
Reducing Waits / Wait times:
Check the location of the controlfiles and ensure they are not on IO saturated disks. <View:V$CONTROLFILE> shows the controlfile filenames.
See if asynchronous IO can be used on your platform for the controlfiles to allow the writes to the different controlfiles to truely occur in parallel. If asynchronous IO is not possible the writes occur synchronously.
WARNING: Relocation of controlfiles should always be done with care to ensure the files are not located on the same disk / IO subsystem.