Oracle 如何计算 AWR 报告中的 Sessions 数量

全网最全面的Oracle AWR 专栏,持续更新中...

在 Oracle AWR 报告的开头,有一个非常重要的指标------"Sessions",它表示对应 Snap ID 创建快照时数据库中的会话数量。

这个数值来自 DBA_HIST_SYSSTAT 视图中的统计项 "logons current"。

下面通过一个简单的实验,来看看 Oracle 是如何得到这个数值的:

SQL 复制代码
SELECT COUNT(*) FROM V$SESSION;

SELECT value FROM V$SYSSTAT WHERE NAME = 'logons current';

EXEC DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();

SELECT VALUE
FROM DBA_HIST_SYSSTAT
WHERE STAT_NAME = 'logons current'
  AND SNAP_ID = (SELECT MAX(SNAP_ID) FROM DBA_HIST_SNAPSHOT);

从实验结果可以看到,AWR 报告中的 "Sessions" 数值,实际上反映的是快照被创建时那一刻数据库中的会话数量。

它不是一个平均值,也不是一个区间内的累计值,而是一个时间点值。

这一点非常值得注意:AWR 报告中大多数指标(例如 CPU、IO、Redo 等)都是区间平均或累计的结果,而 Sessions 指标则仅代表快照生成瞬间的状态,因此在快照间隔期间它可能会有明显波动。

号主在certview.oracle.com网站上的证书清单截图。

关于号主,姚远:

  • Oracle ACE(Oracle和MySQL数据库方向)
  • 华为云最有价值专家
  • 《MySQL 8.0运维与优化》的作者
  • 拥有数十项数据库认证
  • 曾任IBM公司数据库部门经理
  • 20+年DBA经验,服务2万+客户
  • 精通C和Java,发明两项计算机专利
  • 两次获得国家部级奖
相关推荐
不停喝水2 小时前
【前端转全栈java速通课】 项目实战④7-11节 操作数据库-登录-注册-修改密码-注销-mubatis-plus简化crud-
java·前端·数据库
leisoo80972 小时前
融资融券数据怎么查两融指标含义与杠杆观察方法 IG50免费开源股票数据API接口
开发语言·jvm·数据库·python·json
Aric_Jones2 小时前
pgsql内置publication/subscription功能,实现数据同步
数据库
有想法的py工程师2 小时前
PostgreSQL 字符集双重转义击穿 磁盘 I/O
数据库·postgresql
头发还在的女程序员2 小时前
【无标题】
网络·数据库·短剧小程序·短剧系统·海外短剧·短剧后台
千千寰宇2 小时前
[数据库系统] 数据库系统的设计原理研究
数据结构·数据库·database-opengemini/influxdb·database-dament/达梦
麦壳饼3 小时前
SonnetDB SQL 分页查询:LIMIT/OFFSET 与 FETCH 语法
数据库·sonnetdb
Gauss松鼠会3 小时前
【GaussDB】破除gaussdb ugin索引支持中文模糊查询的迷思-字符序
java·运维·服务器·网络·数据库·gaussdb·经验总结
l1t3 小时前
DeepSeek总结的PostgreSQL因选择而宽松,因偶然而永久
数据库·postgresql