Phone:18180207355 提供专业Oracle&MySQL数据恢复、性能优化、迁移升级、紧急救援等服务

同事遇到一个library cache lock lath等待的问题,导致cpu使用非常高,关于
library cache lock似乎存在一点争议,我这里用实验来进行说明。

可以看到在等待library cache lock latch。

可以看到在等待library cache pin latch。

下面再次执行该sql,来看看软解析的情况是怎么样的?

可以看到,软解析仍然会申请library cache lock latch.

手工释放library cache lock latch以后,发现还好等待library cache pin latch。

下面继续来证明软解析获得library cache lock是什么模式呢?

—session 2

—-session 1

我们可以看到此时的library cache lock是N模式,并没有X。

通过前面的实验,我们可以做出如下的几点总结:

1. sql的解析顺序是先library cache lock,然后是library cache pin。
2. 针对cursor获得的library cache lock mode是null,而不是X。
3. 针对cursor获得的library cache pin mode是X。
4. sql软解析时,也需要获得library cache lock latch。

    分享到:
  • Dong_2

    good! thanks

18180207355
加Q咨询