为什么引入锁概念
什么是锁
Oracle 9i所有的锁的治理和分配都是由数据库治理系统自动完成的,不需要用户进行干预,同时也提供了手工加锁的命令,供有经验的用户使用。
锁的分类
1.按照权限划分
排它锁
共享锁
2.按照锁分配的资源划分
数据锁
字典锁
查询锁信息
(1)如图6.71所示的数据库锁界面。
(2)在如图所示的【过滤器】下拉列表框里可以选择显示锁的类型,包括3种,默认为用户类型锁。
表6.6 锁的主要信息
名称
含义
用户名
与占用或获取锁的会话相关联的 Oracle UserID
会话 ID
占用或获取锁的会话
锁类型
用户锁或系统锁的类型。 用户应用程序获取用户类型的锁。任何阻塞其他用户的进程就可能占用这些锁之一。用户类型锁包括3种。TM(DML 入队)、TX(事务处理入队)和UL(所提供的用户)
占用的方式
会话所占用锁的锁定方式
请求的方式
进程请求锁的锁定方式
对象名
锁定对象的名称
限制的 ROWID
锁定的当前 ROWID
对象所有者
对象所有者的用户名
对象类型
对象类型
资源 ID1
锁标识符 #1 (取决于类型)
资源 ID2
锁标识符 #2 (取决于类型)