oracle 闩机制,Oracle latch闩原理示意图
还是搞不懂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闩原理示意图相关推荐
- 闩锁(latch)概述
第10章 闩锁.锁定和并发性数据库系统本身是一个多用户并发处理系统,在同一个时间点上,可能会有多个用户同时操作数据库.这里就涉及两个很重要的问题.这些用户之间的操作不会互相破坏.比如两个用户同时在相同 ...
- 常见latch闩锁等待
常见latch闩锁等待 参考<oracle性能优化实务> 与共享池有关的latch闩锁等待(共享池不足或碎片化问题导致) shared pool library cache library ...
- Oracle Mutex 机制 说明
之前也整理过一篇文章来说明Oracle Lock的,参考: 锁 死锁 阻塞 Latch 等待 详解 http://blog.csdn.net/tianlesoftware/archive/2010/0 ...
- mysql oracle mvcc_PostgreSQL、Oracle/MySQL和SQL Server的MVCC实现原理方式
PostgreSQL.Oracle/MySQL和SQL Server的MVCC实现原理方式 关系数据库管理系统使用MVCC(Multiversion Concurrency Control多版本并发控 ...
- oracle中lock和latch的用途
本文向各位阐述Oracle的Latch机制,Latch,用金山词霸翻译是门插栓,闭锁,专业术语叫锁存器,我开始接触时就不大明白为什么不写Lock,不都是锁吗?只是翻译不同而以?研究过后才知道两者有很大 ...
- Oracle锁机制的总结【转】
最近在研究Oracle锁机制的时候发现网上的资料鱼龙混杂将,很多将问题复杂化,让人感觉没有条理性.经过查询原始理论资料,总结如下: 在数据库理论中,我们知道.我们在执行并发访问数据库表时,如果没有任何 ...
- Oracle回收站机制
目录 一.回收站概念 二.回收站功能 三.管理回收站 四.示例 1.先后删除的表名相同,然后闪回表的问题 2.Flashback Drop只能用于非系统表空间和本地管理的表空间 3.理解重命名的过程4 ...
- oracle物理备份与恢复,Oracle 备份与恢复概念原理学习
梳理下oracle中备份与恢复的概念原理--[@more@] 一.备份与恢复分逻辑和物理备份与恢复. 二.逻辑类:命令有EXP和IMP. 三.物理类:Noarchivelog和archivelog模式 ...
- Oracle 11g RAC SCAN ip的原理及配置
Oracle 11g RAC SCAN ip的原理及配置 Oracle 11g RAC网格即插即用(GPnP)工作原理: SCAN概念: 先介绍一下什么叫SCAN,SCAN(Single ...
最新文章
- java压缩解压缩类实例[转]
- Xilinx FPGA部分重配置操作流程
- cv2.imread 中文路径返回null
- bom中的event以及一些window的API
- 转:开火,移动-大神Joel 也浮躁
- 常见Java面试题 程序中如何决定使用 HashMap 还是 TreeMap?
- python 知识点总结
- java关于throw Exception的一个小秘密
- SpringMVC学习--文件上传
- 软件工程课设-----日程管理系统
- 数据结构—二叉树,满二叉树、完全二叉树、二叉树的性质(思维导图)
- Tensorflow学习笔记:使用线性回归进行简单分类
- web前端面试题(关于闭包)
- Android编译预制过高版本app导致编译错误解决
- Ubuntu18.04 自带桌面共享配置
- Android基站定位详解
- python打印日历_python 打印日历
- citus介绍和centos7安装部署和集群搭建
- 在axure中实现商品数量加减效果,原型库网站讲师-金乌 解答同学问
- Supper 使用注意点
热门文章
- oracle存clob,oracle数据库里保存clob字段-Oracle
- ML基石_LinearModelsForClassfication
- Bi-level error correction for PacBio long reads
- TensorFlow基础10-(误差反向传播算法以及实现多层神经网络)
- 通讯接口:I2C和USART,SPI,CAN,USB2.0
- java6特性_Java6的新特性
- Fail to find the dnn implementation. [Op:CudnnRNN]解决办法
- 三十六、请求分页管理方式
- Caffe在Ubuntu 14.04 64bit 下的安装------pycaffe 配置
- 【pytorch】nn.conv2d的使用