Load-oriented oracle RAC wait events :

The load-oriented wait events indicate that a delay in processing has occurred in the GCS, which is usually caused by high load, CPU saturation and would have to be solved by additional CPUs, load-balancing, off loading processing to different times or a new cluster node. For the events mentioned, the wait time encompasses the entire round trip from the time a session starts to wait after initiating a block request until the block arrives.

In the first article on wait events, we discussed on Basic on Oracle RAC wait events.:- Click here to read.

The load – oriented wait events indicate that a delay in processing has occurred in the GCS, which is usually caused by high load, by CPU saturation, and would have to be solved by additional CPUs, load balancing , or off loading processing at different times or to a new cluster node. For the events mentioned , the wait time encompasses the entire round trip from the time a session starts to a wait after initiating a block request until the block arrives.

Whenever a request for any block transfer or message transfer waits for more than 1 ms in the internal queue after the interprocess communication (IPC) layer, the system is considered “ overloaded”. This could happen when the LMS process is not able to catch up with the arrival rate and the messages are queued for LMS processing. The following are the most common load oriented waits, and existence of these waits indicated that the system is overloaded or underpowered.

1.gc current block congested

This is caused if heavy congestion on the GCS, thus CPU resources are stretched.

Scenario :

  • Instance A request for a current data block in exclusive mode, the request will be served by master instance of that data block.
  • So , the request to access that data block will be sent to master node , LMS process running in the master node sends current block and transfers exclusive ownership to the requesting Instance’s LMS process and keeps a past image of the block .
  • If LMS process running on both the nodes are highly loaded , then there would be wait event happens – gc current block congested.

2.gc cr block congested

Scenario :

  • Instance A is trying to access a block using SELECT statement that block is not in local cache of that Instance.
  • Request will be sent to master instance.
  • LMS process of master instance creates a CR version of the block by cloning the buffer and applying undo records to the buffer rolling back the block to the SCN consistent with the requested query SCN and then this CR block is sent to LMS process of requesting instance.
  • While working on this if both instances’ LMS process are highly loaded , then there would be wait event happen gc cr block congested event

Basic Solution to resolve above two wait events

  • Increase number of LMS Processes by setting “GCS_SERVER_PROCESS” in 9i RAC onward.
  • Optionally you can also set “_LM_LSM” till OPS.
  • Tune OS
  • Add CPUs

3. gc current grant congested

  • Whenever any instance (HOST-03) request for any data block in any mode, this request will be served by MASTER NODE of that data block.
  • Meanwhile requesting instance (HOST-03) is waiting for approval from master instance to perform physical IO to read data block from DISK.
  • This wait event is “gc current grant congested

In last article, we discussed on Message Oriented Oracle Rac Wait:- Click here to read.

Stay Tuned for more detail on Oracle RAC wait events.

Thank you for giving your valuable time to read the above information.

If you want to be updated with all our articles send us the Invitation or Follow us:

Skant Gupta’s LinkedIn: www.linkedin.com/in/skantali/

Joel Perez’s LinkedIn: Joel Perez’s Profile

Anuradha’s LinkedIn: Anuradha’s Profile

LinkedIn Group: Oracle Cloud DBAAS

Facebook Page: OracleHelp

Comments

  1. Pingback: Load-oriented oracle rac wait events - SSWUG.ORG

Leave a Reply