latch: cache buffers chains: 待機: cache buffers chains ラッチの競合
Oracle意味
バッファキャッシュ内のブロックを保護する cache buffers chains (CBC) ラッチで競合が発生している。この待機は、多数のセッションが頻繁にアクセスされる同じ (ホット) ブロックに到達しようとすると増加する。
原因
頻繁に読み取られるホットブロック、大量の論理読み取りを発生させる非効率な SQL、ネステッドループ結合での同じインデックスルートブロックへの繰り返しアクセス、偏った大量の同時アクセス、小さいが頻繁に読み取られるテーブル。
対処方法
最も多くの論理読み取りを発生させている SQL を特定し (V$SQL、ASH)、インデックス/アクセスプランを改善してバッファアクセスを減らす。ホットブロックを特定する (X$BH / 関連ビュー)。不要なネステッドループをハッシュ結合に変えることを検討する。小さく頻繁に読み取られる参照テーブルは、アクセスパターンを分散させるかキャッシュする。
同じデータベースの他の項目
- ORA-14400inserted partition key does not map to any partition(パーティションキーがどのパーティションにも対応しない)
- ORA-01536space quota exceeded for tablespace(表領域の領域割り当て制限を超過)
- direct path read待機: バッファキャッシュを経由せず、セッションがブロックを直接 PGA に読み取っている
- ORA-00955name is already used by an existing object(名前は既存のオブジェクトが使用している)
- ORA-02449unique/primary keys in table referenced by foreign keys(表の一意/主キーが外部キーにより参照されている)
- ORA-01950no privileges on tablespace 'name'(表領域に対する権限がない)
- ORA-01110data file N: 'path'(データファイル N: 'path')