`
l6259710
  • 浏览: 109688 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

两个简单的动态视图:v$statname、v$mystat的一点说明

 
阅读更多
关于Oracle错误:动态执行表不可访问,本会话自动统计被禁止,关闭自动统计之后的问题:
 
    在v$session,v$statname,v$sesstat和v$mystat四个动态执行表中没有select权限导致我每次执行语句时会提示,告诉我会话的自动统计被禁止。
 
解决方法:
 
用SYS登录,授权给相应的用户,用下面的语句,
grant select on v_$statname to user;
自动统计功能可以关掉。
最后的这个,超时断开问题,可以设置USER_PROFILES里面看到的IDLE_TIME值,
首先查看你的当前用户的PROFILE是哪个,
select profile from dba_users where username='SCOTT' ;
假如是DEFAULT这个PROFILE,那么修改IDLE_TIME这个值
alter profile default limit idle_time unlimited ;
必要时创建新的PROFILE。
 
v$statname是对统计信息的说明,STATISTIC#相当于编号,NAME就是统计量的名称。
sys@OCP10G> desc v$statname;  
 名称                          是否为空?                       类型
---------------------------------------------------------------------------------------
STATISTIC#                                NUMBER
NAME                                   VARCHAR2(64)
CLASS                                   NUMBER
STAT_ID                                  NUMBER
 

sys@OCP10G> select * from v$statname;

STATISTIC#
 NAME                                      CLASS                                 STAT_ID
---------------------------------------------------------------------------------------
0 logons cumulative                     1                                 2666645286
1 logons current                           1                                 3080465522
2 opened cursors cumulative        1                                85052502
3 opened cursors current             1                                2301954928
    ....
314 OTC commit optimization hits          1                    284064864054
315 OTC commit optimization failure - setup      1       28 3633344886

 
v$mystat字面来说就是当前用户的各种统计信息,sid就是session的id(也就是当前用户),STATISTIC#就是统计量的编号(用来唯一确定统计量

的名称),value是统计量的值。
sys@OCP10G> show user

USER 为 "SYS"

sys@OCP10G> select sid,username from v$session where username='SYS';
       SID                 USERNAME
------------------------------------------------------------------
       138                      SYS

sys@OCP10G> desc v$mystat;

名称                    是否为空?                    类型
--------------------------------------------------------------------------------------
SID                                                             NUMBER
STATISTIC#                                                NUMBER
VALUE                                                         NUMBER

sys@OCP10G> select * from v$mystat where rownum<10;

       SID       STATISTIC#         VALUE
------------------------------------------------------------------------
       138            0                       1
       138            1                       1
       138            2                      54
       138            3                       1
        ...
       138          314                    0
       138          315                     0
 
小结:
v$statname视图获取系统的统计量的说明
v$mystat视图获取当前用户的在v$statname中的每个统计量的值
两个视图按STATISTIC#连接,可以得到当前用户的sid,统计量的编号,统计量的名称,和统计值.

select b.sid,a.STATISTIC#,a.name,b.value from v$statname a,v$mystat b 

where a.STATISTIC#=b.STATISTIC#;

   SID      STATISTIC#                  NAME                                 VALUE
---------------------------------------------------------------------------------------
   138             0                    logonscumulative          1
   138             1                      logons current           1
   138             2               opened cursors cumulative      56
   138             3                 opened cursors current       1
        ...
   138            314           OTC commit optimization hits     0
   138            315       OTC commit optimization failure - setup 0
 

 

分享到:
评论

相关推荐

    Oracle10g DBA经常使用的动态性能视图和数据字典

    v$statname:在v$sesstat中报告各个统计的含义 v$sysstat:基于当前操作会话进行的系统统计 v$waitstat:出现一个以上会话访问数据库的数据时的详细情况。当有一个以上的会话访问同一信息时,可出现等待情况。

    Oracle错误:动态执行表不可访问,本会话自动统计被禁止,关闭自动统计之后的问题

    使用PL/SQL时, 每次第一次打开表的时候会提示"动态执行表不可访问,本会话的自动统计被禁止"的错误,一消息如下: V$SESSION,V$SESSTAT,V$STATNAME没有被授权,没有权限访问这几张表,所以没有本法进行统计.

    使用orcle遇到的错误

    第一次用PLSQL Developer连接数据库,若用sys用户登录并操作则正常,若用普通用户比如haishu登录并创建一个表则报错“动态执行表不可访问,本会话的自动统计被禁止。在执行菜单里你可以禁止统计,或在v$session,v$...

    redo.sql select

    SELECT ss.SID, sq.sql_text, se.status, se.username, se.osuser, se.program, se.machine, ss.VALUE FROM v$sesstat ss, v$statname sn, v$session se, v$sqlarea sq

    OraGlance:一个轻量级的 oracle 性能监控工具-开源

    将 v_$database 上的选择授予 $USER_NAME; 将 gv_$instance 上的选择授予 $USER_NAME; 将 gv_$statname 上的选择授予 $USER_NAME; 将 gv_$sysstat 上的选择授予 $USER_NAME; 将 gv_$osstat 上的选择授予 $USER_...

    http-utilities:Node.js 的基本 HTTP 实用程序

    安装 ...初始化 ... 应用程序接口 statCode(代码描述符) httpUtils .... // returns '200' ...statName(代码编号) httpUtils . statName ( 200 ) ; // returns 'ok' httpUtils . statName ( 500 ) ; // ret

    Autopaste-crx插件

    用于在statname.net上搜索有关扑克室玩家的信息和统计信息的扩展 自动粘贴扩展程序有助于在自动模式下从statname.net获取玩家的信息。 复制播放器的昵称后,自动粘贴扩展将数据从剪贴板粘贴到statname.net搜索栏。 ...

    Heilx AAC Decoder optimized for ARM

    - ARM, GNU toolchain (gcc) &lt;br&gt;ARM refers to any processor supporting ARM architecture v.4 or above. Thumb is not required. &lt;br&gt;Generally ADS produces the fastest code. EVC 3 does not support ...

Global site tag (gtag.js) - Google Analytics