`
liwenshui322
  • 浏览: 519407 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)Oracle动态性能视图学习笔记(2)_v$sesstat_v$mystat_v$statname

 
阅读更多

原博客地址:http://space.itpub.net/10248702/viewspace-669512

1 Overview
##################################################################
1.1 v$sesstata stores session-specific resource usage statistics, beginning at login and ending at logout.
统计会话级的统计数据。虽然是会话级的,但并不是说只有当前会话,是所有会话都有统计。


1.2 The differences between v$sysstat and sesstat:
1) v$sesstat only stores data for each session, whereas v$sysstat stores the accumulated values for all session.
(系统级与会话级)

2) v$sesstat is transitory, and is lost after a session logs out. v$sysstat is cumulative, and is only lost when the instance is shutdown.

3) v$sesstat does not include the name of the statistic, this view must be joined to either v$sysstat or v$statname.

 

##################################################################
2 示例
##################################################################

2.1 Finding the Top sessions with Highest Logical and Physical I/O Rates Currently Connected to the database.
查找当前Session消耗IO最多的会话。

SQL> select name, statistic#
  2  from v$statname
  3  where name in( 'session logical reads', 'physical reads');

NAME                                                             STATISTIC#
---------------------------------------------------------------- ----------
session logical reads                                                     9
physical reads                                                           42

SQL> SELECT ses.sid
  2  ,DECODE(ses.action,NULL,'online','batch') "User"
  3  , MAX(DECODE(sta.statistic#,9,sta.value,0))/greatest(3600*24*(sysdate-ses.logon_time),1) "Log IO/s"
  4  , MAX(DECODE(sta.statistic#,42,sta.value,0))/greatest(3600*24*(sysdate-ses.logon_time),1) "Phy IO/s"
  5  , 60*24*(sysdate-ses.logon_time) "Minutes"
  6  FROM V$SESSION ses , V$SESSTAT sta
  7  WHERE ses.status = 'ACTIVE'
  8  AND sta.sid = ses.sid
  9  AND sta.statistic# IN (9,42)
 10  GROUP BY ses.sid, ses.action, ses.logon_time
 11  ORDER BY
 12  SUM( DECODE(sta.statistic#,42,100*sta.value,sta.value) )/ greatest(3600*24*(sysdate-ses.logon_time),1) DESC;

       SID User     Log IO/s   Phy IO/s    Minutes
---------- ------ ---------- ---------- ----------
         4 online          0 .035992199 5144.63333
         5 online .944926428 .011179935 5144.63333
        28 online .793103448          0 .966666667
         7 online .601633417 3.2396E-06 5144.63333
         2 online          0 .000187898 5144.63333
         3 online          0 .000187898 5144.63333
         6 online .001755875 3.2396E-06 5144.63333
         1 online          0          0    5144.65

8 rows selected


2.2:又例如通过v$sesstat和v$statname连接查询某个SID各项信息。
select a.*,b.name
  from v$sesstat a,v$statname b
  where a.statistic#=b.statistic#
  and a.sid=12 order by a.value desc;

 


##################################################################
3 v$mystat
##################################################################
This view is a subset of v$sesstat returning current session's statistics. When auditing resource usage for sessions through triggers, use v$mystat to capture
the resource usage, because it is much cheaper than scanning the rows in v$sesstat.

v$mystat是v$sesstat的子集,当通过触发器来捕捉数据时,用v$mystat 成本比v$sesstat更低。

 

##################################################################
4 v$statname
##################################################################
This view displays decoded statistic names for the statistics shown in the  v$sesstat and v$sysstat tables.
On some platforms, the name and class columns contain additional operating system-specific statistics.

SQL> desc v$statname;
Name       Type         Nullable Default Comments
---------- ------------ -------- ------- --------
STATISTIC# NUMBER       Y                        
NAME       VARCHAR2(64) Y                        
CLASS      NUMBER       Y

SQL> select count(name) from v$statname;

COUNT(NAME)
-----------
        272
总共有272个statname.

具体每个name的含义参考官方文档<<database reference >>的附录, 要经常翻阅此附录.

其中272个name共分成如下8大类别.

CLASS NUMBER A number representing one or more statistics classes. The following
class numbers are additive:
1 - User
2 - Redo
4 - Enqueue
8 - Cache
16 - OS
32 - Real Application Clusters
64 - SQL
128 - Debug

 

分享到:
评论

相关推荐

    oracle_v$session_v$session_wait用途详解

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

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

    ### Oracle10g DBA经常使用的动态性能视图和数据字典 在Oracle数据库管理中,数据字典和动态性能视图是DBA(数据库管理员)进行日常维护、监控和故障排查的重要工具。本文将详细介绍Oracle10g DBA常用的几个数据...

    oracle 动态性能(V$)视图

    Oracle数据库中的动态性能(V$)视图是数据库管理员和开发人员获取实时数据库状态信息的重要工具。这些视图提供了丰富的信息,涵盖了从SQL执行情况、系统资源使用到数据库等待事件等各个方面,极大地帮助了性能调优...

    oracle动态性能视图详解

    通过深入学习和理解这些动态性能视图,数据库管理员和开发人员能够实时监控Oracle数据库的运行状态,及时发现性能问题,从而提高系统的整体性能和稳定性。在实际操作中,结合Oracle的其他工具,如SQL*Plus、企业管理...

    常用oracle动态性能视图

    在 Oracle 中,动态性能视图(Dynamic Performance Views,简称 DGVs)是用于收集和展示数据库实时运行状态的重要工具。这里我们将深入探讨其中的一个常见视图——V$SESSION。 V$SESSION 视图是 Oracle 提供的核心...

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

    - 在Oracle数据库中,动态性能视图(如`V$SESSION`、`V$SESSTAT`等)提供了关于当前会话和其他会话活动的实时信息。这些视图对于诊断问题、优化查询计划以及监控系统性能至关重要。 2. **本会话的自动统计被禁止**...

    oracle动态性能表

    Oracle动态性能表是Oracle数据库系统中的一个重要组成部分,用于实时监控和诊断数据库的运行状态。这些表存储了关于数据库性能的详细信息,对于DBA(数据库管理员)来说,理解和利用这些表进行性能调优至关重要。 ...

    20个常用的动态性能视图

    2. **v$sesstat**:与v$sysstat不同,v$sesstat提供了每个会话的统计信息,这对于定位特定会话的性能问题至关重要。 3. **v$sql & v$sql_plan**:这两个视图组合起来提供了关于执行过的SQL语句及其执行计划的详细...

    学些动态性能表-word版

    学习动态性能表(二)--v$sesstat 学习动态性能表(三)--v$sql&v$sql_plan 学习动态性能表(四)--v$sqltext&v$sqlarea 学习动态性能表(五)--v$session 学习动态性能表(六)--v$session_wait&v$session_event 学习...

    lr_oracle计数器

    2. CPU used when call started (V$SESSTAT1/[SYS]/ABCDEF/ORACLE.EXE) (绝对) 此计数器表示调用开始时的CPU使用情况,有助于追踪CPU资源在不同阶段的分配。 3. CR blocks created (V$SESSTAT1/[SYS]/ABCDEF/ORACLE...

    使用orcle遇到的错误

    第一次用PLSQL Developer连接数据库,若用sys用户登录并操作则正常,若用普通用户比如haishu登录并创建一个表则报错“动态...在执行菜单里你可以禁止统计,或在v$session,v$sesstat和v$statname表里获得选择权限。”

    学习Oracle动态性能表

    通过对这些动态性能表的深入学习,数据库管理员能够更好地监控Oracle数据库的运行状态,及时发现并解决问题,提升整体系统的性能和稳定性。在实际工作中,结合性能监控工具和SQL优化工具,这些视图的数据将发挥巨大...

    ORACLE数据字典

    常用动态性能视图:v$fixed_table、v$fixed_view_definition、v$database、v$instance、v$version、v$log、v$sysstat、v$logfile、v$controlfile、v$system_event、v$parameter、v$process、v$session、v$session_...

    表提示不能执行,PLSQL Developer

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

    oracle使用autotrace 功能

    `plustrace`角色包含对几个视图的`select`权限,例如`v_$sesstat`, `v_$statname`, `v_$mystat`和`v_$session`。这些视图提供了关于会话状态和统计信息的重要数据,对于分析执行计划和性能至关重要。 ```sql ...

    oracle动态链接表

    2. v$sesstat 表:存储 session 从 login 到 logout 的详细资源使用统计。 * v$sesstat 表提供了会话级别的资源使用情况统计信息,包括 CPU 使用率、内存使用率、磁盘 I/O 使用率等。 * 该表可以帮助 DBA 了解...

    oracle标准语法速查表

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

    查找运行系统里bad sql

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

    ORACLE Server 8i Quick Reference Card.pdf

    - `v$mystat`、`v$sysstat`和`v$sesstat`等视图用于监控系统级和会话级的统计信息,帮助进行资源管理和性能调优。 ### 总结 "ORACLE Server 8i Quick Reference Card.pdf"为Oracle 8i的用户提供了全面而深入的参考...

Global site tag (gtag.js) - Google Analytics