バッファ・キャッシュを使うためハッシュ・チェーンを探索したり変更を加えようとするセッションは、 必ずそのチェーンを管理しているcache buffers chainsラッチ(以降、CBCラッチ)を獲得しなければなりません。 このラッチを獲得する時に、競合が発生するとlatch:cache buffers chains待機イベントで待機します。 Oracle9i以降からは読み取り専用を保護するため、チェーンを探索する場合にはCBCラッチを 共有モードで獲得し、競合を減らせるようになっています。これには一つ注意すべきことがあります。 理論的にはSELECT文が同時に発行された場合は、CBCラッチを共有できるため、 CBCラッチ競合が発生してはいけませんが、実際テストをしてみるとラッチ競合は相変らず発生します。 その理由は、バッファ・ロックと関連があります。読み取り専用で作業を行うために共有モー
![latch cache buffers chains - 日本エクセム株式会社 Oracle待機イベント情報](https://cdn-ak-scissors.b.st-hatena.com/image/square/810b7b4a5da506cd4244d315f1046f82af9388f9/height=288;version=1;width=512/https%3A%2F%2Fwww.ex-em.co.jp%2Fwp-content%2Fuploads%2F2020%2F06%2Fexem_logo_w_1200x630.png)