V$LOCK

V$LOCK列出了Oscar数据库当前持有的锁和未完成的锁或闩的请求

表317 V$LOCK 结构
列名 类型 描述
ADDR BINARY(8) 锁状态对象的地址(取session的地址)
KADDR BINARY(8) 锁的地址
SID NUMERIC(1000,38) 持有或请求锁的会话的标识
TYPE VARCHAR(2) 用户或系统锁的类型(RE(RELATIONLOCK)、OB(OBJECTLOCK)、SE(SEGMENTLOCK)、US(USERLOCK)、PA(SMOPAGELOCK))
ID1 NUMERIC(1000,38) 锁的参数1(根据锁类型不同,含义有所不同 <RE:在 sys_class 中对应的 OID;OB:当前对象所在的系统表在 sys_class 中的 oid;SE:段头页页面号;US:用户分配的锁标识符;PA:索引分裂页页面号>)
ID2 NUMERIC(1000,38) 锁的参数2(根据锁类型不同,含义有所不同 <RE:未使用(固定为 0);OB:当前对象在 ID1 的系统表中的 oid;SE:段头页文件号;US:是否在事务提交或回滚时自动释放该锁;PA:索引分裂页文件号>)
ID3 NUMERIC(1000,38) 锁的参数3(根据锁类型不同,含义有所不同 <RE:未使用(固定为 0);OB:字段序号;SE:未使用(固定为 0);US:转换时间上限(单位:秒;如果在该时间内无法转换锁,则返回 1(LOCK_TIME_OUT));PA:未使用(固定为 0)>)
LMODE NUMERIC(1000,38) 会话持有锁的锁模式: 0 - 空 1 - 行共享锁(RS) 2 - 行排他锁(RX) 4 - 共享锁(S) 8 - 共享行排他锁(SRX) 16 - 排他锁(X) 32 - 直接路径导入锁(BU) 255 - 空锁(NULL)(US 类型传入的值:1 - 空锁(NULL) 2 - 行共享锁(SS) 3 - 行排他锁(SX) 4 - 共享锁(S) 5 - 共享行排他锁(SSX) 6 - 排他锁(X))
REQUEST NUMERIC(1000,38) 进程请求的锁的锁模式: 0 - 空 1 - 行共享锁(RS) 2 - 行排他锁(RX) 4 - 共享锁(S) 8 - 共享行排他锁(SRX) 16 - 排他锁(X) 32 - 直接路径导入锁(BU) 255 - 空锁(NULL)(US 类型传入的值:1 - 空锁(NULL) 2 - 行共享锁(SS) 3 - 行排他锁(SX) 4 - 共享锁(S) 5 - 共享行排他锁(SSX) 6 - 排他锁(X))
CTIME NUMERIC(1000,38) 锁被授予起的时间
BLOCK NUMERIC(1000,38) 0或者1,取决于锁是否是阻塞者
XID INT 事务id

V$LOCK_STAT

V$LOCK_STAT列出了提供自实例启动后,各种锁的统计信息

表318 V$LOCK_STAT 结构
列名 类型 描述
LOCK_TYPE TEXT 锁的类型(表锁、行锁)
LOCK_MODE TINYINT 持有的锁模式
TOTAL_REQ BIGINT 请求总数
TOTAL_WAIT BIGINT 等待次数
SUCC_REQ BIGINT 加锁成功次数
FAILED_REQ BIGINT 加锁失败次数
TOTAL_WAIT_TIME BIGINT 总等待时间(微秒)