`

学习动态性能表(二)--v$sesstat

阅读更多

类似于v$sysstat,该视图存储下列类别的统计:

事件发生次数的统计,如用户提交数。
数据产生,存取或者操作的total列(如:redo size)
执行操作所花费的时间累积,例如session CPU占用(如果TIMED_STATISTICS值为true)
注意:
如果初始参数STATISTICS_LEVEL被设置为TYPICAL或ALL,时间统计被数据库自动收集如果STATISTICS_LEVEL被设置为BASIC,你必须设置TIMED_STATISTICS值为TRUE以打开收集功能。

如果你已设置了DB_CACHE_ADVICE,TIMED_STATISTICS或TIMED_OS_STATISTICS,或在初始参数文件或使用ALTER_SYSTEM或ALTER SESSION,那么你所设定的值的值将覆盖STATISTICS_LEVEL的值。

v$sysstat和v$sesstat差别如下:
v$sesstat只保存session数据,而v$sysstat则保存所有sessions的累积值。
v$sesstat只是暂存数据,session退出后数据即清空。v$sysstat则是累积的,只有当实例被shutdown才会清空。
v$sesstat不包括统计项名称,如果要获得统计项名称则必须与v$sysstat或v$statname连接查询获得。

v$sesstat可被用于找出如下类型session:
高资源占用
高平均资源占用比(登陆后资源使用率)
默认资源占用比(两快照之间)

在V$SESSTAT中使用统计
  多数v$sesstat中的统计参考是v$sysstat描述的子集,包括session logical reads, CPU used by this session, db block changes, redo size, physical writes, parse count (hard), parse count (total), sorts (memory), and sorts (disk).

V$SESSTAT常用列说明SID:session唯一ID
STATISTIC#:资源唯一ID
VALUE:资源使用


示例1:下列找出当前session中最高的logical和Physical I/O比率.

  下列SQL语句显示了所有连接到数据库的session逻辑、物理读比率(每秒)。logical和physical I/O比率是通过自登陆后的时间消耗计算得出。对于sessions连接到数据库这种长周期操作而言也许不够精确,不过做个示例却足够了。

先获得session逻辑读和物理读统计项的STATISTIC#值:
SELECT name, statistic#
FROM V$STATNAME
WHERE name IN ('session logical reads','physical reads') ;
NAME STATISTIC#
------------------------------ ----------
session logical reads 9
physical reads 40

通过上面获得的STATISTIC#值执行下列语句:

SELECT ses.sid
, DECODE(ses.action,NULL,'online','batch') "User"
, MAX(DECODE(sta.statistic#,9,sta.value,0))
/greatest(3600*24*(sysdate-ses.logon_time),1) "Log IO/s"
, MAX(DECODE(sta.statistic#,40,sta.value,0))
/greatest(3600*24*(sysdate-ses.logon_time),1) "Phy IO/s"
, 60*24*(sysdate-ses.logon_time) "Minutes"
FROM V$SESSION ses
, V$SESSTAT sta
WHERE ses.status = 'ACTIVE'
AND sta.sid = ses.sid
AND sta.statistic# IN (9,40)
GROUP BY ses.sid, ses.action, ses.logon_time
ORDER BY
SUM( DECODE(sta.statistic#,40,100*sta.value,sta.value) )
/ greatest(3600*24*(sysdate-ses.logon_time),1) DESC;

SID User Log IO/s Phy IO/s Minutes
----- ------ -------- -------- -------
1951 batch 291 257.3 1
470 online 6,161 62.9 0
730 batch 7,568 43.2 197
2153 online 1,482 98.9 10
2386 batch 7,620 35.6 35
1815 batch 7,503 35.5 26
1965 online 4,879 42.9 19
1668 online 4,318 44.5 1
1142 online 955 69.2 35
1855 batch 573 70.5 8
1971 online 1,138 56.6 1
1323 online 3,263 32.4 5
1479 batch 2,857 35.1 3
421 online 1,322 46.8 15
2405 online 258 50.4 8


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

分享到:
评论

相关推荐

    学些动态性能表-word版

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

    学习Oracle动态性能表

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

    oracle动态性能表

    学习动态性能表 第一篇--v$sysstat 2007.5.23  按照OracleDocument中的描述,v$sysstat存储自数据库实例运行那刻起就开始累计全实例(instance-wide)的资源使用情况。 类似于v$sesstat,该视图存储下列的统计信息...

    oracle动态性能视图详解

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

    oracle数据字典关系图

    #### 二、重要视图与表解析 1. **V$SHARED_SERVER** - 描述:共享服务器模式下的一些信息。 - 关键字段:`Paddr`, `Circuit`, `V$ACCESS`, `Owner`, `Object`, `Sid` - 功能:展示共享服务器的工作情况,包括...

    数据库性能诊断的七种武器.ppt

    【诊断工具中的七种武器】是DBA进行性能诊断的核心工具,它们是Oracle的动态性能视图,包括V$SYSSTAT、V$SESSION、V$SESSTAT、V$SGASTAT等多个视图。这些视图提供了系统级、会话级以及资源使用等多方面的详细信息,...

    数据库学习笔记 数据库资料 数据库题目 数据库面试

    - 这个查询从 `v$session`, `v$process` 和 `v$sesstat` 视图中获取正在运行的会话及其相关信息,其中 `v$sesstat` 统计了会话使用的 CPU 时间。 - 使用 `statistic# = 12` 获取 CPU 时间的统计信息。 - 通过 `...

    Oracle 性能优化 宝典系列4

    Oracle提供了大量动态性能视图(V$视图),这些视图包含了数据库运行时的统计信息。 - **2.3.2 V$STATNAME视图** 用于查看系统级统计数据,帮助分析系统性能。 - **2.3.3 V$MYSTAT视图** 显示当前会话的性能...

    ORACLE学习笔记-ORACLE(基本命令)

    在`V$process`动态性能视图中,你可以监控每个Oracle进程的PGA内存使用情况,如`pga_used_mem`、`pga_alloc_mem`和`pga_max_mem`。这有助于识别内存瓶颈并调整内存分配。 后台进程是Oracle数据库运行的关键部分,`...

    DBA笔试考题.txt

    ### DBA 笔试考题解析 #### 一、SQL 调优 **1.... - **重要性:**SQL查询优化是提高数据库性能的关键环节之一,通过对查询方式...通过不断实践和学习,可以更好地理解和运用这些技术,提高数据库系统的性能和稳定性。

    精彩讲解:数据库性能诊断的七种武器

    1. **碧玉刀 - 动态性能视图**:动态性能视图是DBA的得力助手,如V$SYSSTAT、V$SESSION、V$SESSTAT等,它们提供了数据库内部状态的实时信息,帮助定位性能瓶颈。 2. **多情环 - SQL Trace**:通过10046等事件跟踪,...

    ORACLE学习笔记-ORACLE(基本命令)

    此外,还有`V$sysstat`用于查看系统统计信息,`V$sesstat`展示用户会话的统计信息,`V$pgastat`显示PGA(Program Global Area)的内存使用情况,`V$sql_workarea`和`V$sql_workarea_active`则关注SQL游标的工作区...

    Oracle语法整理(较全)

    此外,还可以通过`V$sesstat`和`V$session`来查找消耗资源最多的会话,或者使用`V$lock`来检查数据库中的锁情况,这些查询对于性能优化和问题排查极其重要。 在Oracle的语法中,还有许多其他重要概念,如触发器、...

    Oracle学习笔记

    23. **找出CPU使用高的用户会话**:`SELECT a.sid, spid, status, substr(a.program,1,40) prog, a.terminal, osuser, value/60/100 value FROM v$session a, v$process b, v$sesstat c WHERE c.statistic# = 11 AND...

Global site tag (gtag.js) - Google Analytics