为什么引入锁概念
什么是锁
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 (取决于类型) |