V$LATCH

提供当前latch的持有情况。当同类Latch含有多个时,比如数据缓冲区每个入口的spinlock,则不能查看当前latch的的持有情况。

表319 V$LATCH 结构
列名 类型 描述
PID BIGINT 拥有Latch的线程ID
SID INT 拥有Latch的会话ID
LADDR TEXT Latch地址
NAME TEXT Latch名称
DESC TEXT Latch描述信息
LOCATION TEXT 获取latch的Location
STATUS SMALLINT 状态

Latch名称的意义如下所示,全局Latch,如描述信息为空则表明该latch唯一:

Latch号 Latch名 描述信息
0 Spinlock: buffer flush buffer lock 互斥锁,用于保护产生脏页回刷日志的脏页ID缓存
1 Spinlock: buffer free list lock 互斥锁,用于保护数据缓冲区空闲链表
2 Spinlock: segid Residency maps lock 互斥锁,用于保护记录段所属页面是否需要长驻数据缓冲区的哈希映射数据结构
3 Spinlock: buffer enter mutex 互斥锁,用于保护数据缓冲区的哈希入口,每个入口一把锁
4 Rwlock: buffer latch 读写锁,用于保护数据缓冲区中的某一页面
5 Rwlock:catalog cache lru lock 读写锁,用于保护系统表内容缓存的LRU链表
6 Rwlock: catalog cache list lock 读写锁,用于保护系统表内容缓存使用的list结构
7 Rwlock:catalog cache hash bucket lock 读写锁,用于保护系统表内容缓存使用的哈希表结构的入口
8 Rwlock:relation cache lru lock 读写锁,用于保护系统表定义缓存的LRU链表
9 Rwlock:relation cache lock 读写锁,用于保护系统表定义缓存
10 Spinlock:autostat table list lock 互斥锁,用于保护统计信息使用的TABLEINFO链表结构
11 Spinlock:autostat session message lock 互斥锁,用于保护统计信息使用的Msg链表结构
12 Rwlock:next oid lock 读写锁,用于保护生成NEXT OID所需使用的系统唯一值
13 Spinlock:session access lock 互斥锁,用于保护对会话结构中内容的访问,每个Session一个
14 Rwlock:session iterate lock 读写锁,用于保护会话遍历操作
15 Rwlock:result cache param lock 读写锁,用于保护对结果集缓存使用的配置参数的访问
16 Rwlock:result cache hash lock 读写锁,用于保护结果集缓存使用的哈希表结构
17 Rwlock:result cache lru lock 读写锁,用于保护结果集缓存使用的全局LRU链表
18 Spinlock:result cache item lock 互斥锁,用于保护结果集缓存项
19 Spinlock:result cache depend lock 互斥锁,用于保护结果集缓存依赖项
20 Rwlock:result cache chunk alloc lock 读写锁,用于保护结果集缓存内存分配
21 Rwlock:system mac label lock 读写锁,用于保护强制访问控制中标签对象的创建和修改
22 Rwlock: pl cache hash bucket lock 读写锁,用于保护PL缓存的哈希入口
23 Rwlock: spc plan lock 读写锁,用于保护查询计划节点的访问
24 Rwlock: spc plan hash bucket lock 读写锁,用于保护查询计划哈希入口
25 Rwlock: spc table hash bucket lock 读写锁,用于保护查询计划缓存使用的表OID哈希入口
26 Spinlock: crf buffer lock 互斥锁,用于保护控制文件块缓存的访问
27 Rwlock: crf block index lock 互斥锁,用于保护控制文件使用的索引数组的访问
28 Spinlock: rowLock hash entry mutex 互斥锁,用于保护锁模块行锁哈希表入口
29 Spinlock: segLock hash entry mutex 互斥锁,用于保护锁模块段锁哈希表入口
30 Rwlock: system online backup lock 读写锁,用于保护系统在线备份操作
31 Rwlock: datafile index lock 读写锁,用于保护数据文件使用的索引数组的访问
32 Rwlock: trans table lock 读写锁,用于保护事务模块活动事务表的访问
33 Rwlock: min txn startlsn lock 读写锁,用于保护事务模块当前最小活动事务LSN的访问
34 Rwlock: log write buffer lock 读写锁,用于保护日志写缓冲区的访问
35 Rwlock: log read buffer lock 读写锁,用于保护日志读缓冲区的访问
36 Rwlock: log seg read count lock 读写锁,用于保护日志读缓冲区日志段的引用计数
37 Rwlock: logfile index lock 读写锁,用于保护数据文件使用的索引数组的访问
38 Rwlock: global log info lock 读写锁,用于保护对全局日志信息结构的访问
39 Spinlock: task info lock 互斥锁,用于保护对后台任务信息结构的访问
40 Spinlock: global mcxt create lock 互斥锁,用于保护在全局内存上下文中进行内存分配
41 Spinlock: global heap alloc lock 互斥锁,用于保护在全局堆中进行内存分配
42 Spinlock: global chunk alloc lock 互斥锁,用于保护在全局CHUNK内存管理结构中进行内存分配
43 Spinlock: wait graph mutex 互斥锁,用于保护锁模块等待图的访问
44 Spinlock: ssc enter lock 互斥锁,用于保护全局段搜索缓存的访问
45 Spinlock: tablespace alloc lock 互斥锁,用于保护表空间的范围分配操作
46 Spinlock: checkpoint mutex 互斥锁,用于保护检查点操作
47 Spinlock: log archive queue mutex 互斥锁,用于保护日志归档请求队列
48 Spinlock: system archive mode lock 互斥锁,用于保护对系统归档模式值的修改
49 Spinlock: ssc search psfinfo lock 互斥锁,用于保护段搜索信息中的PFS信息链表
50 Spinlock: parallel valid core lock 互斥锁,用于保护并行查询可用CPU内核计数
51 Spinlock: PQ paralle buffer lock 互斥锁,用于保护并行操作通信缓冲区
52 Spinlock: PQ paralle buffer list lock 互斥锁,用于保护动态哈希通信缓冲区链表
53 Spinlock: PQ sons' bitmap lock 互斥锁,用于保护并行主线程的子线程位图
54 Spinlock: PQ parallel plans lock 互斥锁,用于保护并行子线程的待执行子计划链表
55 Rwlock: sql stat ash entry lock 读写锁,用于保护SQL统计信息哈希表的访问
56 Spinlock: LongOp Stat 互斥锁,用于保护长时操作统计信息链表
57 Spinlock: segment Stat 互斥锁,用于保护段统计信息链表
58 Rwlock: system event hash table lock 读写锁,用于保护系统跟踪事件哈希表的访问
59 Spinlock: datafile io snapshot lock 互斥锁,用于保护文件I/O快照数组
60 Spinlock:aio read array lock 互斥锁,用于保护AIO读请求队列的互斥锁
61 Spinlock:aio write array lock 互斥锁,用于保护AIO写请求队列的互斥锁

V$LATCH_STAT

提供Latch统计信息。

表320 V$LATCH_STAT 结构
列名 类型 描述
LATCH_ID INT Latch编号
NAME TEXT Latch名
GETS BIGINT 等待获得的次数
SLEEPS BIGINT 引起等待睡眠的次数
WTR_SLP_COUNT BIGINT 休眠总次数
IMMEDIATE_GETS BIGINT 以Immediate模式获得的次数
IMMEDIATE_MISSES BIGINT 以Immediate模式获得失败的次数
WAIT_TIME BIGINT Latch等待的总时间(微秒)