eG Monitoring
 

Measures reported by OraCRReqTest

Data blocks requested from the Global Cache are of two types: current and consistent-read (CR) blocks. When you update data in the database, Oracle Database must locate the most recent version of the data block that contains the data, which is called the current block. If you perform a query, only data committed before the query began is visible to the query. Data blocks that were changed after the start of the query are reconstructed from data in the undo segments, and the reconstructed data is made available to the query in the form of a consistent-read block.

Whenever a session requires one or more blocks in a Consistent read (CR) mode, Oracle first checks whether it has those blocks in its local cache. If the block does not exist in the local cache but is available in the remote cache, then it is transferred from the remote to local cache via the interconnect. The time that elapses between when a CR block is requested and when the session receives it should be tracked continuously, so that global cache block access latencies (if any) are detected proactively and resolved promptly. Use the OraCRReqTest to perform this tracking.

This test, at configured intervals, monitors requests for CR blocks and reports how long it took for the requests to be serviced by the buffer caches. This sheds light on request processing delays (if any).

The measures made by this test are as follows:

Measurement Description Measurement Unit Interpretation
Avg_time Indicates the time taken to service requests for cr blocks. CentiSecs Ideally the value of this measure should be low.

A high value for this measure is indicative of high latencies while accessing global cache blocks. This can be caused by any of the following:

  • A high number of requests caused by SQL statements that are not tuned.
  • A large number of processes in the queue waiting for CPU, or scheduling delays.
  • Slow, busy, or faulty interconnects. In these cases, check your network connection for dropped packets, retransmittals, or cyclic redundancy check (CRC) errors.>

When global cache requests cause a performance problem, optimizing SQL plans and the schema to improve the rate at which data blocks are located in the local buffer cache, and minimizing I/O is a successful strategy for performance tuning.