`
l6259710
  • 浏览: 110352 次
  • 性别: 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
 

 

分享到:
评论

相关推荐

    oracle_v$session_v$session_wait用途详解

    Oracle 数据库提供了大量的动态性能视图(Dynamic Performance Views),其中 `V$SESSION` 和 `V$SESSION_WAIT` 是两个非常重要的视图,它们能够帮助数据库管理员深入了解当前会话的状态以及等待事件的信息。...

    使用orcle遇到的错误

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

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

    本文将详细介绍Oracle10g DBA常用的几个数据字典视图和动态性能视图,帮助读者更好地理解和利用这些资源。 #### 一、DBA最常用的数据字典 数据字典是存储在SYSTEM表空间中的一系列特殊表,它们提供了关于数据库...

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

    这一错误通常伴随着对几个特定视图(如`V$SESSION`、`V$SESSTAT`和`V$STATNAME`)的访问权限问题。这些视图是Oracle数据库中的动态性能视图,用于监控系统的运行状态。当用户尝试查询这些视图但缺乏相应权限时,就会...

    几个常用视图的说明 常用的视图和表

    通过关联`v$statname`和`v$sesstat`视图,可以查询特定会话的各种统计数据,比如执行次数、缓冲区获取次数、磁盘读取次数等。这对于性能调优非常有用。 ### v$session_wait `v$session_wait`视图提供了会话等待...

    查找运行系统里bad sql

    查找 Bad SQL 需要了解 Oracle 系统的内部机制,熟悉 V$SQLAREA、V$SESSTAT、V$STATNAME、V$OPEN_CURSOR 等视图的使用。同时,需要了解 Bad SQL 的特点和影响,才能更好地查找和优化这些 SQL 语句。

    runstats.sql

    - 必须具有对 `V$STATNAME`, `V$MYSTAT`, `v$TIMER` 和 `V$LATCH` 的直接查询权限。这些视图提供了关于系统统计信息、会话统计信息、计时器信息和闩锁信息的数据。 - 注意,仅通过角色授予的查询权限是不够的,...

    数据字典关系图.pdf

    数据字典关系图是Oracle数据库管理中的一个核心概念,它提供了数据库内部结构的详细视图,帮助数据库管理员(DBA)理解数据存储、查询优化、性能监控和故障诊断等方面的关键信息。以下是从“数据字典关系图.pdf”...

    oracle j脚本

    这个脚本结合`V$SESSION`、`V$SESSTAT`和`V$STATNAME`视图,获取了活动会话的统计信息,包括名称和值,且只显示值大于0的统计项。这有助于分析会话的资源使用情况。 5. **查找行的文件号和块号**: 通过`DBMS_...

    表提示不能执行,PLSQL Developer

    - `v_$statname`:与数据库统计信息相关的动态性能视图。 - `v_$sesstat`:包含会话级别的统计信息。 - `v_$session`:提供有关当前活动会话的信息。 - `v_$mystat`:显示调用进程的统计信息。 对于上述视图,如果...

    oracle标准语法速查表

    v$mystat, v$statname, v$waitstat - **定义**:自定义统计信息、统计名称和等待统计信息。 - **用途**:深入分析性能问题。 ##### 27. v$latch, v$latchname, v$latchholder, v$latch_parent, v$latch_children -...

    oracle数据字典关系图

    6. **V$STATNAME** - 描述:统计名称信息。 - 关键字段:`Statistic#` - 功能:为V$SYSSTAT和V$SESSTAT提供统计信息的名称解释。 7. **V$SESSION_WAIT** - 描述:会话等待信息。 - 关键字段:`Sid` - 功能:...

    undo&redo;.docx

    除了撤销和重做日志,Oracle还提供了其他监控和优化工具,如V$MYSTAT和V$STATNAME视图,用于获取SQL*Plus下的性能统计信息;AUTOTRACE功能可以帮助分析SQL语句的执行计划和性能。通过理解这些概念和工具,你可以更好...

    数据库性能监控之问题发现及解决办法.ppt

    1. 动态性能视图:如v$sysstat、v$session等,这些视图提供数据库运行的详细信息,帮助定位问题。 2. SQL监控:通过监控SQL语句执行情况,找出性能瓶颈。 3. 表空间监控:分析表空间的使用情况,判断是否需要扩展或...

    oracle四大宝典之4:Oracle性能优化.docx

    资料视图如v$statname、v$mystat和v$sesstat则提供了实时的性能统计信息,帮助DBA了解数据库的运行状态,进行针对性的调优。 总结来说,Oracle性能优化是一个涉及多方面的工作,需要理解优化的必要性,明确优化目标...

    数据库管理员日常工作中必备的sql列表

    通过`v$mystat`和`v$statname`视图获取当前会话的性能统计信息。 10. **查询表空间使用情况**: ```sql -- 查询表空间使用情况的SQL通常会涉及dba_data_files, dba_segments等视图,这部分未提供具体代码 ``` ...

    Oracle数据库维护常用SQL语句集合

    - `V$session`:这是Oracle内部的一个动态性能视图,它包含了所有当前活动会话的信息。 - `Audsid`:该列用于标识审计会话的SID。在本例中,通过调用`Sys_Context('USERENV', 'SESSIONID')`函数来获取当前会话的...

Global site tag (gtag.js) - Google Analytics