v$mystat v$sesstat v$syssta

v$mystat v$sesstat v$sysstat的区别


v$mystat------->mystat---------->my session stat  当前会话统计
v$sesstat------>sesstat----------->sessionstat      按会话进行分组统计
v$sysstat------->sysstat----------->systemstat      当系统的整体统计

 

v$mystat是指自己session的stat
v$sesstat是子系统所有session的stat

 

statistic#这个字段是和statname表来关联的
sid字段是session identifier

如果没有v$mystat的权限按照下面方法申请

 

查询v$mystat说明没有查询权限
SQL> conn scott/tiger@orcl
已连接。
SQL> select sid from v$mystat ;
select sid from v$mystat
               *
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> conn sys / as sysdba
输入口令:
已连接。
SQL> grant select on v$mystat to scott;
grant select on v$mystat to scott
               *
第 1 行出现错误:
ORA-02030: 只能从固定的表/视图查询
对于Oracle的这种视图不能直接被授权(这里的v$mystat是同义词名)
SQL> grant select on v_$mystat to scott;
授权成功。
已连接。
SQL> grant select on v_$mystat to scott;
授权成功。
SQL> conn scott/tiger@orcl
已连接。
SQL> desc v$mystat;
 名称                                     是否为空? 类型
 ------------------------------------------------- -------------------------
 SID                                               NUMBER
 STATISTIC#                                        NUMBER
 VALUE                                             NUMBER
SQL> select sid from v$mystat where rownum=1;
      SID
----------
      146
SQL>
SQL> revoke select on  v_$mystatfrom scott;
撤销成功。

==============================================================================

动态性能视图v$mystat,v$sesstat,v$statname学习

-动态性能视图v$mystat,v$sesstat,v$statname学习
为了学习如何得sql产生的redo信息,在网上查询到结果得出需对v$mystat,v$sesstat,v$statname视图进行操作,现在心得写出如下:

1.v$mystat,v$sesstat是用来分别统计会话级别和自实例起动以来数据库各种统计信息的。
两个视图结构一致,只是统计数据不一致。
desc v$mystat;
名称                                                  是否为空? 类型
----------------------------------------------------- -------- ------------------------------------
SID                                                             NUMBER
STATISTIC#                                                     NUMBER
VALUE                                                           NUMBER

SID表示会话编号,与v$session中SID相对应。
STATISTIC#  表示统计项
VALUE       表示统计项相关的值
v$mystat视图中只会有当前用户的会话信息,v$sesstat会有整个实例内所有会话信息。因此在v$sesstat中自然包括v&mystat的统计信息。

2.一般情况下v$mystat,v$sesstat会与v$statname一起配合使用。
SQL> desc v$statname;
Name       Type         Nullable Default Comments 
---------- ------------ -------- ------- -------- 
STATISTIC# NUMBER       Y                         
NAME       VARCHAR2(64) Y                         
CLASS      NUMBER       Y       

v$statname视图中STATISTIC#与v$mystat,v$sesstat中STATISTIC#字段是相关联的。而NAME则是对应的英文信息,比如说要查某条DML语句所产生的redo信息。可以这样写:
select value from v$mystat t,v$statname t1 where t.STATISTIC# = t1.STATISTIC# and t1.NAME = 'redo size'
其它信息也是如此,只需将t1.name换成相对应的英文名称即可。

你可能感兴趣的:(v$mystat v$sesstat v$syssta)