`

gc buffer busy acquire and gc buffer busy release

 
阅读更多

gc buffer busy acquire and gc buffer busy release

The gc buffer busy acquire and gc buffer busy release wait events specify the time the remote instance locally spends accessing the requested data block. In Oracle 11g you will see gc buffer busy acquire wait event when the global cache open request originated from the local instance and gc buffer busy release when the open request originated from a remote instance. In Oracle 10g these two wait events were represented in a single gc buffer busy wait, and in Oracle 9i and prior the "gc" was spelled out as "global cache" in the global cache buffer busy wait event. These wait events are all very similar to the buffer busy wait events in a single-instance database and are often the result of:

Hot Blocks - multiple sessions may be requesting a block that is either not in buffer cache or is in an incompatible mode. Deleting some of the hot rows and re-inserting them back into the table may alleviate the problem. Most of the time the rows will be placed into a different block and reduce contention on the block. The DBA may also need to adjust the pctfree and/or pctused parameters for the table to ensure the rows are placed into a different block.

Inefficient Queries - as with the gc cr request wait event, the more blocks requested from the buffer cache the more likelihood of a session having to wait for other sessions. Tuning queries to access fewer blocks will often result in less contention for the same block.

 

 

http://docs.oracle.com/cd/E11882_01/rac.112/e16795/monitor.htm#RACAD8308

 

Contention-Related Wait Events

The main wait events for contention-related waits are:

  • gc current block busy

  • gc cr block busy

  • gc buffer busy acquire/release

The contention-related wait event statistics indicate that a block was received which was pinned by a session on another node, was deferred because a change had not yet been flushed to disk or because of high concurrency, and therefore could not be shipped immediately. A buffer may also be busy locally when a session has already initiated a cache fusion operation and is waiting for its completion when another session on the same node is trying to read or modify the same data. High service times for blocks exchanged in the global cache may exacerbate the contention, which can be caused by frequent concurrent read and write accesses to the same data.

The gc current block busy and gc cr block busy wait events indicate that the local instance that is making the request did not immediately receive a current or consistent read block. The term busy in these events' names indicates that the sending of the block was delayed on a remote instance. For example, a block cannot be shipped immediately if Oracle Database has not yet written the redo for the block's changes to a log file.

 

这里 CR 和 current 是不同的概念,如果是读的话,那就是cr request,如果是更改的话,那就是current request。

 

In comparison to block busy wait events, a gc buffer busy event indicates that Oracle Database cannot immediately grant access to data that is stored in the local buffer cache. This is because a global operation on the buffer is pending and the operation has not yet completed. In other words, the buffer is busy and all other processes that are attempting to access the local buffer must wait to complete.

The existence of gc buffer busy events also means that there is block contention that is resulting in multiple requests for access to the local block. Oracle Database must queue these requests. The length of time that Oracle Database needs to process the queue depends on the remaining service time for the block. The service time is affected by the processing time that any network latency adds, the processing time on the remote and local instances, and the length of the wait queue.

The average wait time and the total wait time should be considered when being alerted to performance issues where these particular waits have a high impact. Usually, either interconnect or load issues or SQL execution against a large shared working set can be found to be the root cause.

Load-Related Wait Events

The main wait events for load-related waits are:

  • gc current block congested

  • gc cr block congested

The load-related 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.

分享到:
评论

相关推荐

    oracle ora-00054:resource busy and acquire with nowait specified解决方法

    Oracle数据库在处理并发事务时,可能会遇到“ORA-00054: resource busy and acquire with NOWAIT specified”错误,这通常意味着当前操作试图获取一个已被其他事务占用的资源,而该请求又指定了不允许等待(NOWAIT)...

    ACQUIRE SCORE

    ATTENTION: JUST AS TO ACQUIRE SCORE

    统一下单并支付接口(alipay.acquire.createandpay)1

    【统一下单并支付接口(alipay.acquire.createandpay)】是支付宝提供的一个核心功能,用于商家集成支付宝支付系统,实现在线交易的过程。该接口适用于各种类型的商家,包括电商平台、线下零售店等,允许它们一次性...

    aspen出现unable to acquire aspen plus license的解决方法

    aspen出现unable to acquire aspen plus license的解决方法

    acquire.dir

    acquire.dir

    acpi控制笔记本风扇转速

    output trace mechanism and has a much larger code and data size. Previous Release: Non-Debug Version: 78.1K Code, 17.1K Data, 95.2K Total Debug Version: 155.4K Code, 63.1K Data, 218.5K Total ...

    Python Social Media Analytics: Analyze and visualize data from Twitter, YouTube

    Acquire data from various social media platforms such as Facebook, Twitter, YouTube, GitHub, and more Analyze and extract actionable insights from your social data using various Python tools A highly ...

    Models for Probability and Statistical Inference

    readers acquire the fundamentals needed to advance to more specialized topics, such as sampling, linear models, design of experiments, statistical computing, survival analysis, and bootstrapping. ...

    老版本:统一预下单接口(alipay.acquire.precreate)1

    【统一预下单接口(alipay.acquire.precreate)1】是支付宝提供的一个关键支付接口,主要用于商家在用户实际支付前进行预处理,以便于提高支付效率和用户体验。本文将详细阐述该接口的功能、适用对象、业务术语以及...

    Kali Linux Intrusion and Exploitation Cookbook

    Acquire the skills to prevent infrastructure and application vulnerabilities Exploit vulnerabilities that require a complex setup with the help of Metasploit In Detail With the increasing threats of ...

    Swift.Programming.Nuts.and.Bolts.B01604F20C

    This book was written to help you acquire this knowledge by answering the following questions: 1) What are the general features and purpose of Swift, 2) Why you should use it (versus other ...

    CPU Cache and Memory Ordering

    网易杭研院何登成学习CPU...(Compiler, CPU),Lock Instruction,Load Acquire/Store Release); – 并发程序设计 (实现一个Spinlock,纠正一个Lock-Free Algorithm, Data Race (False-Sharing, Per-Processor Data))

    Open Source Intelligence Methods and Tools

    Open Source Intelligence Methods and Tools focuses on building a deep understanding of how to exploit open source intelligence (OSINT) techniques, methods, and tools to acquire information from ...

    Competitive Intelligence

    How to acquire and use corporate intelligence and counter-intelligence

    Hands-On Continuous Integration and Delivery

    In the concluding chapters, you will install Travis CI and Circle CI and carry out scripting, logging, and debugging, helping you to acquire a broad knowledge of CI/CD with Travis CI and CircleCI. ...

    surfaceFlinger代码分析

    BufferItemConsumer 和 CpuConsumer 是 ConsumerBase 的子类,它们都可以 acquire 多个 Buffer。BufferItemConsumer 是修改了 BufferQueue 的 mMaxAcquiredBufferCount 参数,ConsumerBase 使用的默认值为 1。...

    Mastering EJB 3.0 4th(E)

    Four new chapters and one new appendix covering the latest features of the new release Basic and advanced concepts (such as inheritance, relationships, and so on) of Java Persistence API defined ...

Global site tag (gtag.js) - Google Analytics