oracle的TM锁、TX锁
来源:互联网 发布:人工智能自然语言处理 编辑:程序博客网 时间:2024/05/16 13:05
Oracle数据库的锁类型
DML锁的目的在于保证并发情况下的数据完整性,在Oracle数据库中,DML锁主要包括TM锁和TX锁,其中TM锁称为表级锁,TX锁称为事务锁或行级锁。
当Oracle数据库发生TX锁等待时,如果不及时处理常常会引起Oracle数据库挂起,或导致死锁的发生,产生ORA-60的错误。这些现象都会对实际应用产生极大的危害,如长时间未响应,大量事务失败等。
DML锁分类表
表1 Oracle的TM锁类型
锁模式
0
1
2
3
4
5
6
1.关于V$lock表和相关视图的说明
Datatype
RAW(4 | 8)
RAW(4 | 8)
NUMBER
VARCHAR2(2)
NUMBER
NUMBER
NUMBER
NUMBER
Lock mode in which the process requests the lock:
--大于0时,表示当前会话被阻塞,其它会话占有改锁的模式
CTIME
NUMBER
Time since current mode was granted
BLOCK
NUMBER
The lock is blocking another lock
0, 'Not Blocking',
1, 'Blocking',
2, 'Global',
--该锁是否阻塞了另外一个锁
2.其它相关视图说明
视图名
描述
主要字段说明
v$session
查询会话的信息和锁的信息。
sid,serial#:表示会话信息。
program:表示会话的应用程序信息。
row_wait_obj#:表示等待的对象,和dba_objects中的object_id相对应。
lockwait :该会话等待的锁的地址,与v$lock的kaddr对应.
v$session_wait
查询等待的会话信息。
sid:表示持有锁的会话信息。
Seconds_in_wait:表示等待持续的时间信息
Event:表示会话等待的事件,锁等于enqueue
dba_locks
对v$lock的格式化视图。
Session_id:和v$lock中的Sid对应。
Lock_type:和v$lock中的type对应。
Lock_ID1: 和v$lock中的ID1对应。
Mode_held,mode_requested:和v$lock中
的lmode,request相对应。
v$locked_object
只包含DML的锁信息,包括回滚段和会话信息。
Xidusn,xidslot,xidsqn:表示回滚段信息。和
v$transaction相关联。
Object_id:表示被锁对象标识。
Session_id:表示持有锁的会话信息。
Locked_mode:表示会话等待的锁模式的信
息,和v$lock中的lmode一致。
select * from v$lock;
select * from v$lock where block=1;
2.查询被锁的对象
select * from v$locked_object;
3.查询阻塞
查被阻塞的会话
select * from v$lock where lmode=0 and type in ('TM','TX');
查阻塞别的会话锁
select * from v$lock where lmode>0 and type in ('TM','TX');
4.查询数据库正在等待锁的进程
select * from v$session where lockwait is not null;
5.查询会话之间锁等待的关系
where a.id1=b.id1 and a.id2=b.id2 and a.block=1 and b.block=0;
select * from v$session_wait where event='enqueue';
7.查找锁住的表和解锁
select
--通过SID,
--alter
- oracle的TM锁、TX锁
- oracle的TM锁、TX锁
- oracle的TM锁、TX锁
- oracle的TM锁、TX锁
- oracle的TM锁、TX锁
- oracle的TM锁、TX锁
- oracle的TM锁、TX锁
- oracle的TM锁、TX锁
- oracle的TM锁、TX锁
- oracle的TM锁、TX锁知识完全普及
- oracle的TM锁、TX锁知识完全普及
- oracle的TM锁、TX锁知识完全普及
- ORACLE的TX锁和TM锁及解锁
- oracle TM锁和TX锁
- TM锁和TX锁的理解
- (基础知识)Oracle事务锁(TX)和表级锁(TM)的理解
- Oracle 之 TX锁
- 利用告警日志分析、解决TM-TX锁
- 将Ext JS 5应用程序导入Web项目中
- linux read/write和fread/fwrite有什么区别
- <span> 无法设置宽度的完美解决方案!
- UITableView 样式的自定义
- php输出时间差
- oracle的TM锁、TX锁
- Android自定义组件系列【4】——自定义ViewGroup实现双侧滑动
- (function ($, undefined){ })(jQuery); 的使用及说明
- Android MVC 结构
- GitHub项目Storm-HBase介绍
- 如何在Xcode平台上安装并创建新的cocos2d-x项目
- ArcGIS教程:选择步长大小
- 十七、Shell while循环
- 打开方式对话框 及 RUNDLL32(RUNDLL)的使用