博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Library Cache: Lock, Pin and Load Lock
阅读量:6575 次
发布时间:2019-06-24

本文共 2055 字,大约阅读时间需要 6 分钟。

What is "Library cache lock" ?

This event controls the concurrency between clients of the library cache. It acquires a lock on the object handle so that either:

  • One client can prevent other clients from accessing the same object.
  • The client can maintain a dependency for a long time (for example, so that no other client can change the object).

This lock is also obtained to locate an object in the library cache.

Library cache lock will be obtained on database objects referenced during parsing or compiling of SQL or PL/SQL statements (table, view, procedure, function, package, package body, trigger, index, cluster, synonym). The lock will be released at the end of the parse or compilation.
Cursors (SQL and PL/SQL areas), pipes and any other transient objects do not use this lock.
Library cache lock is not deadlock sensitive and the operation is synchronous.

Parameters:

 

  • handle address
    Address of the object being loaded.
  • lock address
    Address of the load lock being used. This is not the same thing as a latch or an enqueue, it is a State Object.
  • Mode
    Indicates the data pieces of the object which need to be loaded.
  • Namespace
    The name of the object namespace as it is displayed in V$DB_OBJECT_CACHE view

What is "Library cache pin"?

This event manages library cache concurrency. Pinning an object causes the heaps to be loaded into memory. If a client wants to modify or examine the object, the client must acquire a pin after the lock. Pin can be acquired in NULL, SHARE or EXCLUSIVE modes and can be considered as a special form of lock. A wait for a "library cache pin" implies some other session holds that PIN in an incompatible mode.

Library cache pin will be obtained on a database object that is currently cached in the library cache (table, view, procedure, function, package, package body, trigger, index, cluster, synonym). In the library cache, a database object is cached in 2 parts: "handle" and "object". Library cache pin is only held when the "object" part is cached.

It is not deadlock sensitive and the operation is synchronous

转载地址:http://rqrjo.baihongyu.com/

你可能感兴趣的文章
linux下ssh/sftp配置和权限设置
查看>>
微软职位内部推荐-SDE II
查看>>
SQLPlus获取oracle表操作SQL
查看>>
BFS(两点搜索) UVA 11624 Fire!
查看>>
字符串处理 BestCoder Round #43 1001 pog loves szh I
查看>>
How to add svn:externals in windows using TortoiseSVN
查看>>
JavaScript高级程序设计(5) 引用类型 (上)
查看>>
QT学习-10/31/2012
查看>>
python学习交流 - 匿名函数
查看>>
文章1(转)
查看>>
schedule调用相关整理
查看>>
node.js-session问题
查看>>
拦截器和过滤器的区别 -- 简单分析篇
查看>>
Python版本微信跳一跳,软件配置
查看>>
PropertyGrid仿VS的属性事件窗口
查看>>
ahjesus自定义隐式转换和显示转换
查看>>
@PathVariable、@RequestHeader与@CookieValue注解的使用案例
查看>>
【笔记】jquery判断两个日期之间相差多少天
查看>>
PYTHON1.day01
查看>>
CSS 定位 (Positioning) 实例
查看>>