v$transaction 视图
第一个视图是v$transaction,就是Oracle数据库所有活动的事务数,所有活动的事务每一个活动的事务在这里有一行。
- XIDUSN表示当前事务使用的回滚段的编号
- XIDSLOT说明该事务在回滚段头部的事务表中对应的记录编号(也可以叫做槽号)
- XIDSQN说明序列号
- STATUS说明该事务是否为活动的
XIDUSN是事务使用的回滚段的编号
XIDSLOT是哪个槽位数
XIDSQN是槽位覆盖多少次
这三个唯一的标示一个事务的编号
v$lock视图
v$lock 记录了session已经获得的锁定以及正在请求的锁定的信息
- SID说明session的ID号
- TYPE说明锁的类型,主要关注TX和TM
- LMODE说明已经获得的锁定的模式,以数字编码表示
- REQUEST说明正在请求的锁定的模式,以数字编码表示
- BLOCK说明是否阻止了其他用户获得锁定,大于0说明是,等于0说明否
表级锁TM和事务锁TX。
对于ID,
对TM来讲ID1是哪个对象,
对于TX来讲ID1和ID2分别对应哪个事务
Oracle中的表级锁有
锁定模式 | 锁定简称 | 编码数值 |
---|---|---|
Row Exclusive | RX | 3 |
Row Shared | RS | 2 |
Share | S | 4 |
Exclusive | X | 6 |
Share Row Exclusive | SRX | 5 |
NULL | N/A | 0或者1 |
v$enqueue_lock视图
v e n q u e u e l o c k 该 视 图 中 包 含 的 字 段 以 及 字 段 含 义 与 v enqueue_lock该视图中包含的字段以及字段含义与v enqueuelock该视图中包含的字段以及字段含义与vlock中的字段一模一样。只不过该视图中只显示那些申请锁定,但是无法获得锁定的session信息。其中的记录按照申请锁定的时间先后顺序排列,先申请锁定的session排在前面,排在前面的session将会先获得锁定。
v$locked_object视图
v$locked_object记录了当前已经被锁定的对象的信息
- XIDUSN表示当前事务使用的回滚段的编号
- XIDSLOT说明该事务在回滚段头部的事务表中对应的记录编号
- XIDSQN说明序列号
- OBJECT_ID说明当前被锁定的对象的ID号,可以根据该ID号到dba_objects里查找被锁定的对象名称
- LOCKED_MODE说明锁定模式的数字编码
- v$locked_object记录了当前已经被锁定的对象的信息,哪些对象被锁定了
- XIDUSN、XIDSLOT、XIDSQN是锁这些对象的事务信息
- OBJECT_ID是哪个对象被锁住了
- LOCKED_MODE是锁的模式是什么,用什么方式锁了,比如某个表被锁住的话这里面可以查出来
v$session视图
v$session记录了当前session的相关信息
- SID表示session的编号
- SERIAL#表示序列号
- SID和SERIAL#可以认为是v$session的主键,它们共同唯一标识一个session
记录的是会话信息,通过SID和SERIAL#,它俩可以唯一的标示一个会话