简介
The gc current/cr block 2-way/3-way waits indicate the amount of time a session waited to receive the requested block from the remote instance and the transfer to the block did not encounter any other waits that may be due to the congestion and lms processes being too busy.
In other words, the request for the block was processed immediate and was not busy nor congested.
这种等待事件表明session的大部分时间用于等待从远端instance接收请求的block,并且block的传输过程没有遇到其他类型的等待。换句话说,对于block的请求是立即执行的,没有繁忙也没有拥堵。This is best case scenario when transferring blocks isrequired.
As a result, having high number of gc current/cr block 2-way/3-way waits does not indicate a problem unless the average wait time is high.
如果blocks的传输是必要的,这种等待是最好的情况。总结的说,这种等待的数量很多并不代表出现了性能问题,除非平均等待时间很高。The difference between 2-way/3-way is that number of instances involved in transferring the block from a remote instance to the requested session.
2-way和3-way的区别在于,在block从远端instance传输到请求的session过程中,参与进来的instances的数量。The 3-way occurs only when the master of the requested block is neither the requesting instance nor sending instance,
so this requires three communications over the network (i.e. requester to master and master to sender and sender to requester), increasing the latency of the block transfer.
只有当处理被请求的block的实例既不是请求端、也不是发送端的实例的时候,3-way才会发生,因此这个请求需要在网络环境中有三个通讯(例如:请求者-处理者 , 处理者-发送者 , 发送者-请求者),这增加了block传输的延迟。Therefore, Oracle introduced DRM to reduce the number of 3-way waits by moving the master to the instance that uses the block most often by a large margin.
因此,oracle引入了DRM,通过将master移动到最常使用块的实例,以大幅度减少3路等待的次数。The following wait events indicate that the remotely cached blocks were shipped to the local instance immediately without having been busy, pinned or requiring a log flush:
下面的四个等待事件表示远端缓存的块立即传输给本地实例,没有其他繁忙、等待或需要log flush的情况。
gc current block 2-way
gc current block 3-way
gc cr block 2-way
gc cr block 3-way
The object statistics for gc current blocks received and gc cr blocks received enable quick identification of the indexes and tables which are shared by the active instances.
通过分析gc current/cr blocks received的对象,可以快速确定在多个实例间共享的对象。
As previously stated, the gc current/cr block 2-way/3-way waits are expected and is the best case scenario when a block transfer is needed,
so the gc current/cr block 2-way/3-way waits normally do not cause a performance problem. These waits become a concern when the average wait time is high.
综上所述,gc current/cr block 2-way/3-way waits是在需要传输blocks时的最好的情况,一般情况下不会引起性能问题。除非平均等待时间过高,才需要引起关注。gc current/cr block 2-way
An instance requests authorization for a block to be accessed in current mode to modify a block, the instance mastering the resource receives the request.
The master has the current version of the block and sends the current copy of the block to the requestor via Cache Fusion and keeps a Past Image (.PI)If you get this then do the following
Analyze the contention, segments in the "current blocks received" section of AWR
Use application partitioning scheme
Make sure the system has enough CPU power
Make sure the interconnect is as fast as possible
Ensure that socket send and receive buffers are configured correctly
gc current/cr block 3-way
An instance requests authorization for a block to be accessed in current mode to modify a block, the instance mastering the resource receives the request and forwards it to the current holder of the block, asking it to relinquish ownership.
The holding instance sends a copy of the current version of the block to the requestor via Cache Fusion and transfers the exclusive lock to the requesting instance.
It also keeps a past Image (PI).