还是搞不懂oracle中latch 闩的原理吗?那么来看看这个图 以及下面这段代码如何?

Function Get_Latch(latch_name,mode)

{

If Mode eq ‘immediate’ {

If Fast_Get(latch_name) {

return TRUE

Else {

return FALSE

}

}

Else {

If Fast_Get(latch_name)

Then {

v$latch.gets++

return TRUE

}

Else {

v$latch.misses++

for try = 0 .. large_number

{

if Spin_Get(latch_name)

Then {

return TRUE

}

Else {

T0 = time

Sleep(try)

T1=time

Register_Event("latch free",T1-T0)

}

} -- spin/sleep loop

}

}

}

Function Fast_Get(latch_name)

{

If try_to_get_latch(latch_name)

Then {

return TRUE

}

Else {

return FALSE

}

}

Function Spin_Get(latch_name)

{

v$latch.spin_get++

for i = 1 to _spin_count

{

If Fast_Get(latch_name)

Then {

return TRUE

}

}

}

Function Sleep(try)

{

v$latch.sleeps++

v$latch.sleep[try]++

sleeptime =

decode(try,0,0,1,10,2,20,3,~40,4,~80,...~2000)

sleep(sleeptime)

}

oracle 闩机制,Oracle latch闩原理示意图相关推荐

  1. 闩锁(latch)概述

    第10章 闩锁.锁定和并发性数据库系统本身是一个多用户并发处理系统,在同一个时间点上,可能会有多个用户同时操作数据库.这里就涉及两个很重要的问题.这些用户之间的操作不会互相破坏.比如两个用户同时在相同 ...

  2. 常见latch闩锁等待

    常见latch闩锁等待 参考<oracle性能优化实务> 与共享池有关的latch闩锁等待(共享池不足或碎片化问题导致) shared pool library cache library ...

  3. Oracle Mutex 机制 说明

    之前也整理过一篇文章来说明Oracle Lock的,参考: 锁 死锁 阻塞 Latch 等待 详解 http://blog.csdn.net/tianlesoftware/archive/2010/0 ...

  4. mysql oracle mvcc_PostgreSQL、Oracle/MySQL和SQL Server的MVCC实现原理方式

    PostgreSQL.Oracle/MySQL和SQL Server的MVCC实现原理方式 关系数据库管理系统使用MVCC(Multiversion Concurrency Control多版本并发控 ...

  5. oracle中lock和latch的用途

    本文向各位阐述Oracle的Latch机制,Latch,用金山词霸翻译是门插栓,闭锁,专业术语叫锁存器,我开始接触时就不大明白为什么不写Lock,不都是锁吗?只是翻译不同而以?研究过后才知道两者有很大 ...

  6. Oracle锁机制的总结【转】

    最近在研究Oracle锁机制的时候发现网上的资料鱼龙混杂将,很多将问题复杂化,让人感觉没有条理性.经过查询原始理论资料,总结如下: 在数据库理论中,我们知道.我们在执行并发访问数据库表时,如果没有任何 ...

  7. Oracle回收站机制

    目录 一.回收站概念 二.回收站功能 三.管理回收站 四.示例 1.先后删除的表名相同,然后闪回表的问题 2.Flashback Drop只能用于非系统表空间和本地管理的表空间 3.理解重命名的过程4 ...

  8. oracle物理备份与恢复,Oracle 备份与恢复概念原理学习

    梳理下oracle中备份与恢复的概念原理--[@more@] 一.备份与恢复分逻辑和物理备份与恢复. 二.逻辑类:命令有EXP和IMP. 三.物理类:Noarchivelog和archivelog模式 ...

  9. Oracle 11g RAC SCAN ip的原理及配置

    Oracle 11g RAC SCAN ip的原理及配置   Oracle 11g RAC网格即插即用(GPnP)工作原理: SCAN概念:     先介绍一下什么叫SCAN,SCAN(Single ...

最新文章

  1. java压缩解压缩类实例[转]
  2. Xilinx FPGA部分重配置操作流程
  3. cv2.imread 中文路径返回null
  4. bom中的event以及一些window的API
  5. 转:开火,移动-大神Joel 也浮躁
  6. 常见Java面试题 程序中如何决定使用 HashMap 还是 TreeMap?
  7. python 知识点总结
  8. java关于throw Exception的一个小秘密
  9. SpringMVC学习--文件上传
  10. 软件工程课设-----日程管理系统
  11. 数据结构—二叉树,满二叉树、完全二叉树、二叉树的性质(思维导图)
  12. Tensorflow学习笔记:使用线性回归进行简单分类
  13. web前端面试题(关于闭包)
  14. Android编译预制过高版本app导致编译错误解决
  15. Ubuntu18.04 自带桌面共享配置
  16. Android基站定位详解
  17. python打印日历_python 打印日历
  18. citus介绍和centos7安装部署和集群搭建
  19. 在axure中实现商品数量加减效果,原型库网站讲师-金乌 解答同学问
  20. Supper 使用注意点

热门文章

  1. oracle存clob,oracle数据库里保存clob字段-Oracle
  2. ML基石_LinearModelsForClassfication
  3. Bi-level error correction for PacBio long reads
  4. TensorFlow基础10-(误差反向传播算法以及实现多层神经网络)
  5. 通讯接口:I2C和USART,SPI,CAN,USB2.0
  6. java6特性_Java6的新特性
  7. Fail to find the dnn implementation. [Op:CudnnRNN]解决办法
  8. 三十六、请求分页管理方式
  9. Caffe在Ubuntu 14.04 64bit 下的安装------pycaffe 配置
  10. 【pytorch】nn.conv2d的使用