DB2锁的属性介绍
DB2锁的属性相信对于很多刚刚接触DB2数据库的新人来说,还比较陌生,下面就为您详细介绍DB2锁的属性,希望对您能有所帮助。
在并发性和隔离级别一章中,我们看到 DB2 通用数据库通过使用锁把事务彼此隔离开来。锁是一种用来将数据资源与单个事务关联起来的机制,其用途是当某个资源与拥有它的事务关联在一起时,控制其它事务如何与该资源交互。(我们称与被锁定的资源关联的事务持有或拥有该锁。)DB2 数据库管理器用锁来禁止事务访问其它事务写入的未提交数据(除非使用了“未提交的读”隔离级别),并禁止其它事务在拥有锁的事务使用限制性隔离级别时对这些行进行更新。事务一旦获取了锁,则在终止之前,就一直持有该锁;该事务终止时释放锁,其它事务就可以使用被解锁的数据资源了。
如果一个事务尝试访问数据资源的方式与另一个事务所持有的锁不兼容(稍后我们将研究锁兼容性),则该事务必须等待,直到拥有锁的事务终止为止。这被称为锁等待。当锁等待事件发生时,尝试访问数据资源的事务所要做的只是停止执行,直到拥有锁的事务终止和不兼容的锁被释放为止。
所有的锁都有下列基本DB2锁的属性:
Object:object 属性标识了要锁定的数据资源。DB2 数据库管理器在需要时锁定数据资源(如表空间、表和行)。
Size:size 属性指定要锁定的数据资源部分的物理大小。锁并不总是必须控制整个数据资源。例如,DB2 数据库管理器可以让应用程序独占地控制表中的特定行,而不是让该应用程序独占地控制整个表。
Duration:duration 属性指定了锁被持有的时间长度。事务的隔离级别通常控制了锁的持续时间。
Mode:mode 属性指定了锁的拥有者所允许的访问类型,以及对锁定数据资源的并发用户许可的访问类型。这个属性通常称为锁状态。
【编辑推荐】
相关文章
- 常见通信协议之SPI及与IIC的异同点
- 文献阅读(76)CVPR2022-Masked Autoencoders Are Scalable Vision Learners
- AT24C02(I2C总线)
- 网络中的三张表——ARP表、MAC表、路由表
- hudi系列-数据写入方式及使用场景
- php连接sqlserver数据库
- 【activiti7全网最全】activiti7工作流数据库表详细介绍(25张表)
- SpringBoot 1.5.22 Release 版通过 yml 文件配置redis 切换 database 实现
- qt没有mysql驱动的解决办法
- Hudi学习四:Hudi架构
- handler+message【消息机制】
- lamp架构之redis(3):redis和mysql的整合
- 三层架构(UI、BLL、DAL)
- MySQL复制详解
- 阿里面试官为什么面试狂问 Redis,把我问到哑口无言……
- uni-app——storage的使用(Storage、StorageSync)
- 【接口百宝箱】免费好用的API大全
- Android Studio App开发中数据库SQLite的解析及实战使用(包括创建数据库,增删改查,记住密码等 附源码必看)
- 案例1:金融数据分析----code知识点详解版
- 纯手动搭建大数据集群架构_记录013_搭建ElasticSearch7.8.0集群_安装部署_搭建集群---大数据之Hadoop3.x工作笔记0174