对于v m y s t a t , 我 们 可 能 最 常 用 的 就 是 用 这 个 视 图 来 查 询 当 前 s e s s i o n 的 s i d ( s e e l c t ∗ f r o m v mystat,我们可能最常用的就是用这个视图来查询当前session的sid(seelct * from v mystat,我们可能最常用的就是用这个视图来查询当前session的sid(seelct∗fromvmystat where rownum=1),不过它的功能可不止简单提供一个sid,它实际上提供了当前session各项统计数据。
- vKaTeX parse error: Expected 'EOF', got '#' at position 35: …标值(指标:STATISTIC#̲ ,值:value) SQL>…mystat;
SID STATISTIC# VALUE
136 0 1
136 1 1
136 2 57
136 3 2
136 4 0
136 5 0
136 6 26
136 7 907
136 8 10
136 9 304
136 10 0
- 各个指标代表的含义:
SQL> select statistic#,NAME from v$statname;
STATISTIC# NAME
0 logons cumulative
1 logons current
2 opened cursors cumulative
3 opened cursors current
4 user commits
5 user rollbacks
6 user calls
7 recursive calls
8 recursive cpu usage
9 session logical reads
10 session stored procedure space
-
举个例子,看session产生的redo有多少
SELECT c.VALUE FROM v m y s t a t c , v mystat c,v mystatc,vstatname b
WHERE c.STATISTIC#=b.STATISTIC# AND b.NAME=‘redo size’ ;VALUE
624 -------执行DML操作之前的redo量
SQL> set autotrace trace stat;
SQL> update a set object_id=99;
49792 rows updated.
Statistics
231 recursive calls
56603 db block gets
14531 consistent gets
1 physical reads
17910064 redo size ---------执行这次操作产生的redo量
669 bytes sent via SQLNet to client
561 bytes received via SQLNet from client
4 SQL*Net roundtrips to/from client
6 sorts (memory)
0 sorts (disk)
49792 rows processed
SQL> set autotrace off;
SELECT c.VALUE FROM v
m
y
s
t
a
t
c
,
v
mystat c,v
mystatc,vstatname b
WHERE c.STATISTIC#=b.STATISTIC# AND b.NAME=‘redo size’ ;
VALUE
17910688 -----执行DML操作之后的redo量
可以看到 17910688 - 624 = 17910064 跟统计数据完全吻合。同理session的各项指标都可以通过v
m
y
s
t
a
t
来
获
取
,
所
以
千
万
别
小
看
v
mystat来获取,所以千万别小看v
mystat来获取,所以千万别小看vmystat呀,功能还是蛮强大滴。。。。。。。。
————————————————
版权声明:本文为CSDN博主「luckman100」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/luckyman100/article/details/9042825