ITPub博客

首页 > 数据库 > Oracle > 【ASK_ORACLE】Library Cache概念篇(一)之Library Cache Lock的定义

【ASK_ORACLE】Library Cache概念篇(一)之Library Cache Lock的定义

原创 Oracle 作者:Attack_on_Jager 时间:2023-03-21 10:03:35 0 删除 编辑

Library Cache Lock的定义

Library Cache Lock这是一个等待事件,来控制对 library cache(share pool 内存里最复杂的一部分) 的并发使用。 它获取一个对象句柄(object handle)上的锁,从而使:

 (1)一个使用者可以防止其它使用者访问同一个对象。这个使用者可以长时间地维护一个依赖对象(例如,其它使用者不能更改这个对象)。

(2)同时, 定位 library cache 中的一个对象同样也需要这个锁。

在解析或编译 SQL 或 PL/SQL 语句期间,我们需要获得被引用的数据库对象(表,视图,过程,函数,包,包体,触发器,索引,聚簇,同义词)的 library cache lock;这个锁在解析与编译结束时会被释放。

 

cursor(SQL 与 PL/SQL 区),管道(pipes)和其它的瞬时(transient)对象不使用这个锁。

Library cache lock 上的死锁不会被自动检测到,对其的操作是同步进行的。

 

相关参数:

(1)handle address

释义:对象地址。

 

(2)lock address

释义:锁地址。它与 latch 与 enqueue 不同,它是一个 State Object。

 

(3)Mode

释义:申请锁的级别

 

(4)Namespace

释义:对象使用的 namespace, 可从视图 V$DB_OBJECT_CACHE查到。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69992972/viewspace-2940654/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
在某银行任职DBA,拥有多年数据库运维经验,擅长Oracle,MySQL。尤其擅长Oracle的SQL优化,数据库性能调优,数据库备份、恢复与迁移。拥有的认证:OCM 12c,OCM 11g,MySQL OCP,RHCE,阿里云ACP,巨杉SCDP,软考系统集成工程师认证,Oracle Iaas OCA,OBCA,TDSQL认证,TBase认证

注册时间:2021-01-11

  • 博文量
    142
  • 访问量
    482775