V$EVENT_NAME

提供系统所有等待事件列表及相关信息。

表344 V$EVENT_NAME 结构
列名 类型 描述
EVENT_ID INT 等待事件号
EVENT_NAME TEXT 等待事件名
PARAMETER1 TEXT 等待事件第一个参数描述
PARAMETER2 TEXT 等待事件第二个参数描述
PARAMETER3 TEXT 等待事件第三个参数描述
PARAMETER4 TEXT 等待事件第四个参数描述
WAIT_CLASS_ID SMALLINT 等待事件类别号
WAIT_CLASS TEXT 等待事件类别名
DESCRIPTION TEXT 等待事件描述

目前神通数据库主要等待事件:

等待事件号 等待事件名 等待事件第一个参数描述 等待事件第二个参数描述 等待事件第三个参数描述 等待事件第四个参数描述 等待事件类别号 等待事件类别名 等待事件描述
1 BufHashEntryLockWait Hash Index null null null 4 Concurrency Buffer入口锁等待。(目前未使用)
2 BufLatchRWLockWait File Id Page Id Latch Mode null 4 Concurrency Buffer latch时加latch的的等待。(目前未使用)
3 BufAllocRWLockWait File Id Page Id Latch Mode null 4 Concurrency Buffer latch时加latch的的等待。(目前未使用)
4 BufDropRWLockWait File Id Page Id Latch Mode null 4 Concurrency Buffer drop时的等待,这个等待可能包括需要drop的页面当前不满足drop条件、buffer上的rwlock等待以及回刷的I/O等待。(目前未使用)
5 BufSyncFlushRWLockWait File Id Page Id Latch Mode null 4 Concurrency (目前未使用)
6 BufFlushingWait File Id Seg Id null null 4 Concurrency 等待回刷线程回刷全局数据页面缓冲区里的赃页面
7 BufRefreshingDirtyPageList Thread Id null null null 4 Concurrency 等待赃页链表的状态刷新到特定状态
8 BufSyncPhysicalReadWait File Id Page Id Seg Id null 8 User I/O 等待从磁盘中读取一个数据页面到内存里
9 BufAllocPageWait null null null null 2 Configuration 等待从全局数据页面缓冲区里获取一个空闲的缓存
10 BufPrefetchRangeIOWait Rsc Id PageIdPart Seg Id Rsc Mode 8 User I/O 数据页面正在从磁盘被异步读取到内存,等待该异步读取完成。
11 BufDPWriteIOWait null null null null 8 User I/O 同步回刷时的等待,这个等待可能包括需要回刷页面当前不满足回刷条件、buffer上的rwlock等待以及回刷的I/O等待。
12 BufSingleFlushIOWait File Id Page Id null null 8 User I/O 赃页回刷线程,正在等待操作系统将一个赃数据页面从内存回刷到磁盘里
13 BufSyncFlushIOWait File Id Page Id null null 8 User I/O 等待将某个页面回刷到磁盘里,一般是用户线程在等待
14 GroupFlushIOWait File Id Page Id Page Nums null 8 User I/O 赃页回刷线程,正在等待操作系统将连续多个赃数据页面从内存回刷到磁盘里
15 LogPhysicalReadIOWait Log File Id Block Id Block Nums null 9 System I/O 后台线程等待读取在线日志文件或归档日志文件里的内容
16 LogPhysicalWriteIOWait Log File Id Block Id Block Nums null 9 System I/O 后台线程等待写入在线日志文件或归档日志文件
17 LogWriteWait null null null null 0 Other 等待将产生的redo日志写入全局日志写缓冲区,一般由于redo日志回刷不够快引起
18 LogForceFlushWait Flush Lsn null null null 5 Commit 等待指定的redo日志回刷到磁盘的在线日志文件里,常见于事务结束前
19 LogExtendLockWait Log File Id Extend Size null null 2 Configuration 后台线程正在等待操作系统完成在线日志文件的扩展
20 LogExtendWait null null null null 2 Configuration 所有的redo在线日志文件都无法扩展,等待3秒后重试
21 TMCheckpointWait Checkpoint Lsn null null null 2 Configuration 每个Catcache的list锁或者hash入口锁的等待(目前未使用)
22 DatafileLockWait File Id null Latch Mode null 4 Concurrency Catcache全局lru锁等待(目前未使用)
23 DatafileExtentWait File Id Extend Size null null 2 Configuration 正在等待操作系统完成数据文件的扩展
24 TempDataFileShrinkWait File Id Shrink Size null null 2 Configuration 正在等待操作系统完成临时数据文件的收缩
25 TempDataFileShrinkReTry File Id Retry Number null null 2 Configuration 正在等待其它会话释放临时数据文件的空间
26 SegmentLockWait Page Id File Id Lock Mode null 1 Application 用户线程在等待对表的数据段加上段锁,可以从V$WAIT_CHAINS等视图看出阻塞者具体是哪个会话
27 RelationLockWait Relation Oid Lock Mode null null 1 Application 用户线程在等待对表加上一个表锁,可以从V$WAIT_CHAINS等视图看出阻塞者具体是哪个会话
28 ObjectLockWait Class Id Object Id SubObject Id Lock Mode 1 Application 用户线程在等待对一个数据库对象加上对象锁,可以从V$WAIT_CHAINS等视图看出阻塞者具体是哪个会话
29 UserLockWait Lock Id Release On Commit TimeOut Seconds Lock Mode 1 Application 用户线程在等待对一个用户自定义锁加锁,可以从V$WAIT_CHAINS等视图看出阻塞者具体是哪个会话
30 SmoLockWait Page Id File Id Lock Mode null 1 Application 页面在分裂的过程中需要对索引页面加锁
31 RowLockWait Segment Id Row Id null null 1 Application 用户线程在更新某表的一行时,该行已被其它未提交事务更新,在等待未提交事务提交
32 LatchWait Latch Id Latch Addr Latch Mode Latch Param1 4 Concurrency 等待获取某一个闩锁(Latch),闩锁是一种对全局内存进行并发控制的细粒度锁,持有时间很短,可以从V$LATCH查看持有信息
33 ParallelBufferWriteWait null null null null 2 Configuration 并行查询时等待可以向前台发送结果集
34 ParallelBufferReadWait null null null null 2 Configuration 并行查询时等待获取一行结果
35 NetWait null null null null 7 Network 用户线程在等待前台发送下一条要执行的SQL
36 BufFrameRSC Rsc Id PageIdPart Seg Id Rsc Mode 4 Concurrency 等待在全局数据页面缓冲区里的某个页面加锁,页面加锁一般是写锁会被写锁/读锁阻塞,读锁不会被写锁/读锁阻塞
37 SuspendIO null null null null 3 Administrative 数据库处理挂起状态,因此当前要进行的IO操作被阻塞,直到数据库执行了RESUM操作恢复正常状态
38 SlaveRedoForQueryWait QueryLSN SlaveRedoLastLSN null null 4 Concurrency 读写分离备节点,用户线程在等待本节点推进到特定位置后再进行SQL
39 LogSlaveRedoDelay null null null null 0 Other 读写分离备节点,redo线程延迟重做日志
40 Dispatch Node Id null null null 10 Dispatch 读写分离主节点,主节点发送读请求并等待返回结果
41 RacwaitPcmPageLock File Id Page Id null null 11 Cluster rac集群节点,等待加上pcm lock的convert锁
42 WaitChannelRecv Channel Type TimeOut null null 11 Cluster 等待从队列里获取内容
43 WaitChannelSend Channel Type TimeOut null null 11 Cluster 等待将消息放到发送队列
44 RacwaitPcmAllocLock File Id Page Id null null 11 Cluster rac集群节点,等待获取一个可用的空闲pcm lock
45 SegmentSearchWait Segment Id PFS null null 0 Other 等待段搜索从pfs加载可用页面到全局缓存
46 LogArchiveWait Archivelsn null null null 4 Concurrency 等待归档线程将日志归档到指定lsn
47 RacRequestRemote Req Msg Type Remote Node Id null null 11 Cluster rac集群节点,等待加上pcm lock的convert锁
48 DropUndoDataFileDelay null null null null 0 Other 删除 undo 数据文件时,等待其它线程读取 undo 日志结束
49 Idle null null null null 6 Idle 后台线程进入了闲置状态,睡眠特定时间,期间允许被其它线程唤醒

V$SESSION_WAIT

提供当前活动session正在等待的事件信息。

表345 V$SESSION_WAIT 结构
列名 类型 描述
SESSION_ID INT Session ID
SERIAL INT Session序号
SEQ INT 唯一标识等待的序列号
TXNID INT 事务号
EVENT_ID INT 等待事件号
EVENT_NAME TEXT 等待事件名
P1TEXT TEXT 等待事件附加参数1的描述信息
P1 NUMERIC(1000,38) 等待事件附加参数1
P1RAW BINARY(8) 等待事件附加参数1(十六进制)
P2TEXT TEXT 等待事件附加参数2的描述信息
P2 NUMERIC(1000,38) 等待事件附加参数2
P2RAW BINARY(8) 等待事件附加参数2(十六进制)
P3TEXT TEXT 等待事件附加参数3的描述信息
P3 NUMERIC(1000,38) 等待事件附加参数3
P3RAW BINARY(8) 等待事件附加参数3(十六进制)
P4TEXT TEXT 等待事件附加参数4的描述信息
P4 NUMERIC(1000,38) 等待事件附加参数4
P4RAW BINARY(8) 等待事件附加参数4(十六进制)
STATE TEXT 等待状态。1. WAITING,正在等待对应事件;2. WAITED UNKNOWN TIME,退出等待状态,但未记录等待时间;3. WAITED KNOWN TIME,退出等待状态,对应事件的等待时间为 WAIT_TIME,自从上次等待结束到当前的时间为 TIME_SINCE_LAST_WAIT
WAIT_TIME BIGINT 等待时间(微秒) ,当STATE 为WAITED KNOWN TIME时,为上次等待时间
TIME_SINCE_LAST_WAIT BIGINT 自从上次等待结束到当前的时间。如果session状态为WAITING,则该字段为0。

V$SESSION_WAIT_HISTORY

提供每个活动session最近10次等待的信息。

表346 V$SESSION_WAIT_HISTORY 结构
列名 类型 描述
SESSION_ID INT Session ID
SERIAL INT Session序号
SEQ INT 等待事件的最近次序
EVENT_ID INT 等待事件号
EVENT_NAME TEXT 等待事件名
P1TEXT TEXT 等待事件附加参数1的描述信息
P1 NUMERIC(1000,38) 等待事件附加参数1
P2TEXT TEXT 等待事件附加参数2的描述信息
P2 NUMERIC(1000,38) 等待事件附加参数2
P3TEXT TEXT 等待事件附加参数3的描述信息
P3 NUMERIC(1000,38) 等待事件附加参数3
P4TEXT TEXT 等待事件附加参数4的描述信息
P4 NUMERIC(1000,38) 等待事件附加参数4
WAIT_TIME BIGINT 总的等待时间(微秒)
TIME_SINCE_LAST_WAIT BIGINT 上次等待结束之后的时间间隔(微秒)

V$WAIT_CHAINS

提供当前的等待链,可用于查看当前各session的相互等待信息。

表347 V$WAIT_CHAINS 结构
列名 类型 描述
CHAIN_ID SMALLINT 标识等待链的序号
PID BIGINT 被阻塞session的线程ID
SESSION_ID INT 被阻塞session的Session ID
TXN_ID INT 被阻塞session的事务号
SERIAL INT 被阻塞session的序号
BLOCKER_IS_VALID BOOLEAN 被阻塞session是否存在阻塞者
BLOCKER_PID BIGINT 阻塞session的线程ID
BLOCKER_SESSION_ID INT 阻塞session的Session ID
BLOCKER_SERIAL INT 阻塞session的序号
BLOCKER_TXN_ID INT 阻塞session的事务号
IN_WAIT BOOLEAN 被阻塞session是否在等待
TIME_SINCE_LAST_WAIT BIGINT 被阻塞session上次等待结束到当前的的时间。(IN_WAIT = false时为null)
WAIT_ID INT 等待事件号(IN_WAIT = false时为null)
WAIT_EVENT TEXT 等待事件名(IN_WAIT = false时为null)
P1 TEXT 等待附加参数1(IN_WAIT = false时为null)
P1_TEXT TEXT 等待附加参数1的描述(IN_WAIT = false时为null)
P2 TEXT 等待附加参数2(IN_WAIT = false时为null)
P2_TEXT TEXT 等待附加参数2的描述(IN_WAIT = false时为null)
P3 TEXT 等待附加参数3(IN_WAIT = false时为null)
P3_TEXT TEXT 等待附加参数3的描述(IN_WAIT = false时为null)
P4 TEXT 等待附加参数4(IN_WAIT = false时为null)
P4_TEXT TEXT 等待附加参数4的描述(IN_WAIT = false时为null)
IN_WAIT_SECS BIGINT 当前的等待时间(IN_WAIT = false时为null)
NUM_WAITERS INT 等待被阻塞session的session个数

V$SESSION_EVENT

提供session级别的等待事件统计信息。

表348 V$SESSION_EVENT 结构
列名 类型 描述
SESSION_ID INT Session ID
SERIAL INT Session序号
EVENT_ID INT 等待事件号
EVENT_NAME TEXT 等待事件名
TOTAL_WAITS BIGINT session对事件的总等待次数
TOTAL_TIMEOUTS BIGINT 总超时次数
TIME_WAITED BIGINT session对事件的总等待时间(百分之一秒)
AVERAGE_WAIT BIGINT session对事件的平均等待时间(百分之一秒)
MAX_WAIT BIGINT session对事件的最大等待时间(百分之一秒)

V$SESSION_WAIT_CLASS

提供各类等待的session级统计信息。

表349 V$SESSION_WAIT_CLASS 结构
列名 类型 描述
SESSION_ID INT Session标识符
SERIAL INT Session序号
WAIT_CLASS_ID SMALLINT 等待类的序号
WAIT_CLASS TEXT 等待类的名称
TOTAL_WAITS BIGINT 当前session的总等待次数
TIME_WAITED BIGINT 当前session的总等待时间

V$SYSTEM_EVENT

提供当前实例所有等待事件的统计信息。

表350 V$SYSTEM_EVENT 结构
列名 类型 描述
EVENT_ID INT 等待事件号
EVENT TEXT 等待事件的名称
TOTAL_WAITS BIGINT 事件的总等待次数
TOTAL_TIMEOUTS BIGINT 事件的总等待超时次数
TIME_WAITED BIGINT 事件的总等待时间数(百分之一秒)
AVERAGE_WAIT BIGINT 事件的平均等待时间(百分之一秒)
TOTAL_WAITS_US BIGINT 用户session对事件的总等待次数
TOTAL_TIMEOUT_US BIGINT 用户session对事件的总等待超时次数
TIME_WAITED_US BIGINT 用户session对事件的总等待时间数 (百分之一秒)
AVERAGE_WAIT_US BIGINT 用户session对事件的平均等待时间 (百分之一秒)

V$SYSTEM_WAIT_CLASS

提供系统各类等待的统计信息,其中idle(空闲等待)和network(网络)的等待基本上上等待用户输入,等待次数和用户等待次数无太大意义,不进行统计。

表351 V$SYSTEM_WAIT_CLASS 结构
列名 类型 描述
WAIT_CLASS_ID INT 等待类号
WAIT_CLASS TEXT 等待类的名字
TOTAL_WAITS BIGINT 该类等待的次数
TIME_WAITED BIGINT 该类等待的总时间(百分之一秒)
TOTAL_WAITS_US BIGINT 用户session等待的总次数
TIME_WAITED_US BIGINT 用户session等待的总时间(百分之一秒)