当前位置: 首页 > news >正文

Oracle数据库中的Library cache lock和pin介绍

Oracle数据库中的Library cache lock和pin介绍

  • 库缓存锁与库缓存Pin
    • 库缓存锁(Library cache lock)
    • 库缓存钉(Library cache pin)
    • 库缓存锁/钉存在的必要
  • 库缓存加载锁(Library cache load lock)
    • 库缓存pin与库加载锁的关联
  • 如何减少库缓存资源争用
    • 如何减少库缓存锁
    • 如何减少库缓存Pin
    • 如何减少库缓存加载锁

⭐️ 本文中使用到的术语翻译如下:

  • 库缓存(Library cache)
  • 库缓存锁(Library cache lock)
  • 库缓存钉(Library cache pin)
  • 库缓存加载锁(Library cache load lock)
  • 闩锁(Latch)
  • 互斥锁(Mutexes)
  • 句柄(Handle)
  • 对象(Object)
  • 游标(Cursor)

库缓存锁与库缓存Pin

库缓存锁(Library cache lock)

库缓存锁用于控制库缓存(Library cache)客户端之间的并发。它通过获取对象句柄上的锁,以实现以下两种目的之一:

  • 一个客户端可以阻止其他客户端访问同一对象。
  • 客户端可以长时间维持一种依赖关系(例如,确保没有其他客户端能够修改该对象)。

获取此锁还可用于在库缓存中定位对象。

在解析或编译SQL或PL/SQL语句期间,会对所引用的数据库对象(表、视图、过程、函数、包、包体、触发器、索引、簇、同义词)获取库缓存锁。该锁会在解析或编译结束时释放。

游标(SQL和PL/SQL区域)、管道以及其他任何临时对象不使用库缓存锁。

库缓存锁对死锁不敏感,且其操

http://www.xdnf.cn/news/1282771.html

相关文章:

  • Redis 数据结构及特点
  • VMD例程(Matlab 2021b可直接使用)
  • C++方向知识汇总(三)
  • 【MySQL基础篇】:MySQL索引——提升数据库查询性能的关键
  • 【华为机试】648. 单词替换
  • Jmeter使用第二节-接口测试(Mac版)
  • Nestjs框架: RBAC基于角色的权限控制模型初探
  • Flutter - 应用启动/路由管理
  • buildroot编译qt 5.9.8 arm64版本踩坑
  • 个人效能是一个系统
  • MaixPy简介
  • MySQL 函数
  • 达梦数据库慢SQL日志收集和分析
  • 【排序算法】⑥快速排序:Hoare、挖坑法、前后指针法
  • 算法训练营DAY57 第十一章:图论part07
  • 数集相等定义凸显解析几何几百年重大错误:将无穷多各异点集误为同一集
  • 深度学习和神经网络最基础的mlp,从最基础的开始讲
  • 数据大集网:精准获客新引擎,助力中小企业突破推广困局
  • MATLAB实现遗传算法求解路网路由问题
  • R语言机器学习算法实战系列(二十七)LASSO 与 Adaptive LASSO 在特征选择中的比较与应用
  • 【Leetcode】随笔
  • 深入浅出设计模式——行为型模式之观察者模式 Observer
  • Note4:Self-Attention
  • 能力评估:如何系统评估你的技能和经验
  • @ContextConfiguration
  • 嵌入式学习的第四十八天-中断+OCP原则
  • 矩阵游戏(二分图最大匹配)
  • 新人该如何将不同的HTML、CSS、Javascript等文件转化为Vue3文件架构
  • 大数据量下分页查询性能优化实践(SpringBoot+MyBatis-Plus)
  • Linux操作系统从入门到实战(十九)进程状态