当前位置: 首页 > 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.dtcms.com/a/326116.html

相关文章:

  • Java多线程并发控制:使用ReentrantLock实现生产者-消费者模型
  • js异步操作 Promise :fetch API 带来的网络请求变革—仙盟创梦IDE
  • 机器翻译:Bahdanau注意力和Luong注意力详解
  • 【浮点数存储】double类型注意点
  • 理解LangChain — Part 3:链式工作流与输出解析器
  • Notepad--:国产跨平台文本编辑器,Notepad++ 的理想替代方案
  • 写一篇Ping32和IP-Guard的对比,重点突出Ping32
  • 循环控制:break和continue用法
  • 鸿蒙flutter项目接入极光推送
  • Java项目基本流程(三)
  • Orange的运维学习日记--38.MariaDB详解与服务部署
  • linux安装和使用git
  • Elasticsearch 官方 Node.js 从零到生产
  • docker部署elasticsearch-8.11.1
  • 网络的基本概念、通信原理以及网络安全问题
  • YOLOv6深度解析:实时目标检测的新突破
  • 时序数据库为什么选IoTDB?
  • 爬虫与数据分析结合案例
  • STM32 HAL驱动MPU6050传感器
  • p6spy和p6spy-spring-boot-starter的SpringBoot3集成配置
  • 高性能Web服务器
  • java基础概念(二)----变量(附练习题)
  • Go 语言三大核心数据结构深度解析:数组、切片(Slice)与映射(Map)
  • Unity插件DOTween使用
  • 【GPT入门】第45课 无梯子,linux/win下载huggingface模型方法
  • 如何避免团队文件同步过程中版本信息的丢失?
  • GAI 与 Tesla 机器人的具体联动机制
  • 变频器与伺服系统的工作原理,干扰来源及治理方式
  • 软件测试关于搜索方面的测试用例
  • [AI 生成] kafka 面试题