Understanding And Resolving Oracle Cache Buffer Chain Wait/Latch Contention

• Perhaps trillions within a single hour •

The numbers are intimidating, perhaps trillions within a single hour. When a server process needs to access a buffer it must first access the cache buffer chain (CBC) structure to determine if the buffer is in the buffer cache.

While serialization control protects the CBC structure, given high concurrency and just the right workload mix, performance can be a problem. Through amazing visualizations and entertaining role playing, you'll learn the relevant Oracle internals, quantitative methodical problem diagnosis, and solutions.

Members Login Become A Member Today

What You Will Learn

  • How to solve Oracle cache buffer chain contention
  • What exactly is a cache buffer chain wait
  • Know the purposes of the key buffer cache lists
  • How Oracle's cache buffer chain (CBC) algorithm works
  • The relationship between the buffer cache, CBCs, buffer headers, buffers and blocks
  • Why a cache buffer chain wait occurs
  • How cache buffer chain waits relate to other wait events such as db file scattered reads and free buffer waits
  • Multiple ways to reduce and/or eliminate cache buffer chain waits
  • How to pick the best solution
  • How to retrieve and analyze cache buffer chain wait times
  • How to methodically diagnose the specific CBC latch contention problem
  • Learn three common CBC causes: hot index root block, high CBC concurrency, and buffer cloning


  • What is the big deal about cache buffer chains and waits
  • The key Oracle buffer cache memory structures and why we care
  • Exploring the B*-tree structure and the all important root block
  • Raw cache buffer chain internals
  • Acquisition patterns of acquiring a cache buffer chain latch
  • How to determine latch acquisition patterns, step-by-step
  • Buffer cloning in relation to cache buffer chain performance
  • Examples and solutions
  • The "solution page" and going deeper...

Seminar Videos