Starting from Oracle10g, most of the RAC related wait events could be further classified in two types, namely 'place holder' events and 'fix up events'. For example, when a cr request is initiated, the outcome can be either a lock grant or a buffer. In other words, when a session is looking for a block in the global cache it may not know whether it will get a buffer cached at remote instance or it will receive a lock grant to read the block from disk. The wait events precisely tell whether the session is waiting for lock grant or buffer to arrive from other instance cache. This detailed breakup information is not available in previous versions as the complete wait time is charged to a single wait event. In the above example the global cache cr request wait is a placeholder event and the outcome of the wait event (which could be another wait like receiving message to read the block from disk) is called as 'fix up' events. Here is the brief listing of fix up wait events and their categories.

Block-oriented

  • gc current block 2-way
     
  • gc current block 3-way
     
  • gc cr block 2-way
     
  • gc cr block 3-way

Message-oriented

  • gc current grant 2-way
     
  • gc cr grant 2-way

Contention-oriented

  • gc current block busy
     
  • gc cr block busy
     
  • gc current buffer busy

Load-oriented

  • gc current block congested
     
  • gc cr block congested

NOTE: The fix up events are for informative purposes, thus there isn’t much to do in the way of tuning nor has there been much written about them in the Oracle documentation. These events just provide additional details about the block and message transfers. Knowing them will help you in understanding the behavior of the resources used in the database.

Start the discussion at forums.toadworld.com