及
BSTAT/ESTAT
都是如此。
为了对比某个区间段的数据,源数据可以被格式化(每次事务,每次执行,每秒钟或
每次登陆),格式化后数据更容易从两者中鉴别出差异。这类的对比在升级前,升级后或
仅仅想看看一段时间内用户数量增长或数据增加如何影响资源使用方面更加实用。
你也可以使用
v$sysstat
数据通过查询
v$system_event
视图来检查资源消耗和资源回收。
V$SYSSTAT
中的常用统计
V$SYSSTAT
中包含多个统计项,这部分介绍了一些关键的
v$sysstat
统计项,在调优
方面相当有用。下列按字母先后排序:
数据库使用状态的一些关键指标:
CPU used by this session
:所有
session
的
cpu
占用量,不包括后台进程。这项统计的单
位是百分之
x
秒
.
完全调用一次不超过
10ms
db block changes
:那部分造成
SGA
中数据块变化的
insert,update
或
delete
操作数
这项
统计可以大概看出整体数据库状态。在各项事务级别,这项统计指出脏缓存比率。
execute count
:执行的
sql
语句数量
(
包括递归
sql)
logons current
:当前连接到实例的
Sessions
。如果当前有两个快照则取平均值。
logons cumulative
:自实例启动后的总登陆次数。
parse count (hard)
:在
shared pool
中解析调用的未命中次数。当
sql
语句执行并且该语
句不在
shared pool
或虽然在
shared pool
但因为两者存在部分差异而不能被使用时产生硬解
析。如果一条
sql
语句原文与当前存在的相同,但查询表不同则认为它们是两条不同语句,
则硬解析即会发生。硬解析会带来
cpu
和资源使用的高昂开销,因为它需要
oracle
在
shared
pool
中重新分配内存,然后再确定执行计划,最终语句才会被执行。
parse count (total)
:解析调用总数,包括软解析和硬解析。当
session
执行了一条
sql
语
句,该语句已经存在于
shared pool
并且可以被使用则产生软解析。当语句被使用
(
即共享
)
所有数据相关的现有
sql
语句
(
如最优化的执行计划
)
必须同样适用于当前的声明。这两项统
计可被用于计算软解析命中率。
parse time cpu
:总
cpu
解析时间
(
单位:
10ms)
。包括硬解析和软解析。
parse time elapsed
:完成解析调用的总时间花费。
physical reads
:
OS blocks read
数。包括插入到
SGA
缓存区的物理读以及
PGA
中的直
读这项统计并非
i/o
请求数。
physical writes
:从
SGA
缓存区被
DBWR
写到磁盘的数据块以及
PGA
进程直写的数据
块数量。
redo log space requests
:在
redo logs
中服务进程的等待空间,表示需要更长时间的
log
switch
。
redo size
:
redo
发生的总次数
(
以及因此写入
log buffer)
,以
byte
为单位。这项统计显示
出
update
活跃性。
session logical reads
:逻辑读请求数。
sorts (memory) and sorts (disk)
:
sorts(memory)
是适于在
SORT_AREA_SIZE(
因此不需要
在 磁 盘 进 行 排 序
)
的 排 序 操 作 的 数 量 。
sorts(disk)
则 是 由 于 排 序 所 需 空 间 太 大
SORT_AREA_SIZE
不能满足而不得不在磁盘进行排序操作的数量。这两项统计通常用于计
算
in-memory sort ratio
。
sorts (rows):
列排序总数。这项统计可被
'sorts (total)'
统计项除尽以确定每次排序的列。
评论