onstat -u 命令:打印用户活动概要文件

可以使用 onstat -u 命令显示用户活动的概要文件。

语法:
示例输出

图: onstat -u 命令输出

Userthreads
            address  flags   sessid   user     tty      wait     tout locks nreads   nwrites
            a4d8018  ---P--D 1        gbasedbt -        0        0    0     58       4595
            a4d8628  ---P--F 0        gbasedbt -        0        0    0     0        2734
            a4d8c38  ---P--- 5        gbasedbt -        0        0    0     0        1
            a4d9248  ---P--B 6        gbasedbt -        0        0    0     40       0
            a4d9858  ---P--D 7        gbasedbt -        0        0    0     0        0
            a4d9e68  Y--P--- 21       niraj    -        a65e5a8  0    1     0        0
            6 active, 128 total, 7 maximum concurrent

输出描述

-u 选项对每个用户线程提供以下输出:
address
在用户表中用户线程的共享内存地址

比较该地址与 -s 选项(锁存器)输出、-b-B-X 选项(缓冲区)以及 -k 选项(锁)中显示的地址以了解该线程正在持有或等待什么资源

flags
提供会话状态。
位置 1 的标志代码:
B
正在等待缓冲区
C
正在等待 checkpoint
G
正在等待对逻辑日志缓冲区的写入
L
正在等待锁
S
正在等待互斥
T
正在等待事务
Y
正在等待条件
X
正在等待事务清除(回滚)
DEFUNCT
该线程已引起严重的断言失败,并已暂挂以允许其他线程继续其工作
位置 2 的标志代码:
*
I/O 故障过程中的事务是活动的
位置 3 的标志代码:
A
Dbspace 备份线程

有关此处显示的其他值,请参阅 -x 选项位置 3 的标志代码。

位置 4 的标志代码:
P
会话主线程
位置 5 的标志代码:
R
正在读取
X
临界段中的线程
位置 6 的标志代码:
R
恢复过程中使用的线程(例如:物理或逻辑恢复)
-
恢复过程中未使用的线程
位置 7 的标记代码:
B
B-tree 清除程序线程
C
已终止正在等待清除的用户线程
D
守护程序线程
F
页清除程序线程
sessid
会话标识符编号

在操作(例如并行排序和并行索引构建)过程中,会话可能有许多与其相关联的用户线程。出于这一原因,会话标识用来标识每个唯一的会话

user
用户登录名(从操作系统派生)
tty
用户正在使用的标准错误(stderr)文件名称(从操作系统派生)

该字段在 Windows™ 上是空白的

wait
如果用户线程正在等待特定锁存器、锁、互斥锁或条件,该字段显示该资源的地址。使用该地址映射到 -s (锁存器)或 -k (锁)选项输出中提供的信息。如果等待是用于持久条件的,那么对 onstat -a 输出中的地址运行 grep
tout
当前等待中的剩余秒数

如果值是 0,那么用户线程不再等待锁存器或锁。如果值是 -1 ,那么用户线程处于不定等待中

locks
用户线程正持有的锁数

-k 输出应包含持有的每个锁的列表

nreads
用户线程已执行的磁盘读取数
nwrites
是用户线程已执行的写调用数

所有写调用都写入共享内存缓冲区高速缓存

onstat -u 命令输出的最后一行显示自初始化数据库服务器以来已分配的并发用户线程的最大数量。例如:样本 onstat -u 命令输出的最后一行如下:
4 active, 128 total, 17 maximum concurrent

该行的最后部分( 17 maximum concurrent)指示自初始化数据库服务器以来并发运行的用户线程的最大数为 17 。

该输出还指示了活动用户的数量和允许用户的最大数。