Views: 1765
ここ数日開発系環境にて特定のSQL実行時にLibrary Cache Lock という待機が
発生するようになった。
これがなぜ発生するのかがさっぱりわからない。
これが発生するSQLはパラレル実行が実行計画に含まれる
という特徴がある。
パラレルしようとして、資源をとりあってしまうのだろうか?
そもそもパラレルなんてすんなよ、って思うが
制御する方法がわからない。
これが原因かもと思い当たることといえば、
負荷が高い時間帯にDDLや統計情報の取得、truncateを実行すると、
Library Cache Lockが発生するそうなので、
毎日早朝に行なっている統計情報のインポートが影響
しているのかもしれない。
統計情報を取り直すとLibrary Cache Lockを回避できる
実行計画が変更されるのだろう。
oracleサポートに問い合わせても回答が来ない。
迷宮入りか?
何かわかったら続報を投稿します。