Search Oracle Related Sites

Monday, January 30, 2012

gc cr block lost / gc current block lost

TOP 5 Timed Events - gc cr block lost / gc current block lost


Global cache lost blocks statistics ("gc cr block lost" and/or "gc current block lost") for each node in the cluster as well as aggregate statistics for the cluster represent a problem or inefficiencies in packet processing for the interconnect traffic. These statistics should be monitored and evaluated regularly to guarantee efficient interconnect Global Cache and Enqueue Service (GCS/GES) and cluster processing. Any block loss indicates a problem in network packet processing and should be investigated.
The vast majority of escalations attributed to RDBMS global cache lost blocks can be directly related to faulty or mis-configured interconnects. “lost blocks” at the RDBMS level, responsible for 64% of escalations.



Misconfigured or Faulty Interconnect Can Cause: 
          Dropped packets/fragments
          Buffer overflows
          Packet reassembly failures or timeouts
          Ethernet Flow control kicks in
          TX/RX errors
 “Lost Blocks”: NIC Receive Errors

Db_block_size = 8K
ifconfig –a:
eth0 Link encap:Ethernet  HWaddr 00:0B:DB:4B:A2:04
            inet addr:130.35.25.110  Bcast:130.35.27.255  Mask:255.255.252.0
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:21721236 errors:135 dropped:0 overruns:0 frame:95
            TX packets:273120 errors:0 dropped:0 overruns:0 carrier:0

“Lost Blocks”: IP Packet Reassembly Failures

            netstat –s
Ip:
   84884742 total packets received
   …
  1201 fragments dropped after timeout
   …
   3384 packet reassembles failed

Detailed Explanation of the this wait event can be found at Metalink - gc block lost diagnostics [ID 563566.1]

Sunday, January 29, 2012

gc current block busy & gc cr block busy

Top 5 Wait Events (RAC) - gc current block busy & gc cr block busy

gc current block busy  - When a request needs a block in current mode, it sends a request to the master instance. The requestor evenutally gets the block via cache fusion transfer. However sometimes the block transfer  is delayed due to either the block was being used by a session on another instance or the block transfer was delayed because the holding instance could not write the corresponding redo records to the online logfile immediately.

One can use the session level dynamic performance views v$session and v$session_event to find the programs or sesions causing the most waits on this events

select a.sid , a.time_waited , b.program , b.module from v$session_event a , v$session b where a.sid=b.sid and a.event='gc current block busy' order by a.time_waited;

gc cr block busy - When a request needs a block in CR mode , it sends a request to the master instance. The requestor evenutally gets the block via cache fusion transfer. However sometimes the block transfer is delayed due to either the block was being used by a session on another instance or the block transfer was delayed because the holding instance could not write the corresponding redo records to the online logfile immediately.

One can use the session level dynamic performance views v$session and v$session_event to find the programs or sesions causing the most waits on this events

select a.sid , a.time_waited , b.program , b.module from v$session_event  a , v$session b where a.sid=b.sid and a.event='gc cr block busy' order by a.time_waited;




This event indicates significant write/write contention. If it appears like the below in TOP 5 list of AWR

Ensure that the log writer (lgwr) is tuned. In our situation planning for appropriate application partitioning to multiple instances avoided the contention. We will see more of the RAC realted wait events in the other posts.

Friday, January 13, 2012

gc current block 2 way - gc current block 3 way


Block oriented waits are the most common wait events in the cluster wait events. The block oriented wait event statistics indicate that the requested block was served from the other instances. In a two – node cluster environment a message is transferred to the current holder of the block and holder ships the block to the requestor. In a cluster environment with more than two nodes, the request for the block is sent to the holder of the block through the resource master and includes an additional message.
 
The average wait time and total wait time should be considered when being alerted to performance issues where these particular waits have a high impact. Usually, either interconnects or load issues of SQL execution against a large shared working ser can be found the root cause. The following are the most common block oriented waits
gc current block 2 – way ( 2 Node RAC Environment)

gc current block 3 – way ( 3 or More  Node RAC Environment )

Pictorial Description of the steps involved in the above wait events in exclusive mode and shared mode.

gc current block 2 – way ( Exclusive Mode)



gc current block 2 – way ( Shared Mode)




gc current block 3 – way ( Exclusive Mode)

gc current block 3 – way ( Shared Mode)


More Events Shortly :)