Oracle时间信息特性全面介绍
在监控、诊断、处理数据库性能问题的时候,时间信息往往是非常重要的判断依据。有时候可能我们会使用一些比例来判断性能,但是使用比例而不使用时间往往会将我们带向错误的方向。在Oracle9i的第一版中关于时间的信息被进行了增强,提供了更多更有益的时间信息。除了9i的外貌发生了变化,在一些并没有被我们注意或者不为人知得一些v$视图的相关字段也发生了变化。这里提到的主要是他们发生了那些改变以及对DBA有什么帮助。这里也列出了零星的一些Oracle内部的未公开的信息。
X$KSQST的改变 (对应视图V$ENQUEUE_STAT)
基础表X$KSQST主要显示关于系统中队列的信息。在9i之前只能提供队列类型的get和wait数。一个队列有两种特征和两个标识组成(id1 and id2)。例如一个叫做TX队列,表示一个事务队列。从Oracle9i开始不但能够看到gets 和waits,而且等待的时间和得不到队列(中断或者超时)的失败次数都可以看到。
| X$KSQST |
KSQSTWTIM NUMBER 以微妙作为单位
然而这里仍不能将队列等待与Sql语句关联,也不能够得到等待队列的Sql语句到底等待了多久。下面的一个新的视图v$enqueue_stat 将提供关于队列得更多信息:
| V$ENQUEUE_STAT INST_ID NUMBER EQ_TYPE VARCHAR2 TOTAL_REQ# NUMBER TOTAL_WAIT# NUMBER SUCC_REQ# NUMBER FAILED_REQ# NUMBER CUM_WAIT_TIME NUMBER |
V$SYSSTAT的改变
实际这个视图并没有什么改变,关于时间的信息仍然在厘秒级。
V$SYSSTAT
CPU used by this session 厘秒
Parse time cpu 厘秒
Parse time 厘秒
Recursive cpu usage 厘秒
当从不同资源中比较数据时应该注意。
V$WAITSTAT的改变
这个视图显示了发生在块级的buffer busy waits的细目描述,等待时间的单位在微妙级。
V$WAITSTAT
TIME NUMBER 厘秒单位
这里无法通过视图中出现的等待找到对应的sql语句。
V$FILESTAT的改变
在这个视图中现在分成了单次块读取和累计块读取,这种分法更合理。
V$FILESTAT
MAXIORTM NUMBER 厘秒级的最大读取时间
MAXIOWTM NUMBER 厘秒级的最大写入时间
SINGLEBLKRDS NUMBER 单次块读取块数
SINGLEBLKRDTIM NUMBER 厘秒级的累计单次块读取时间
这个视图也不能找到相关的Sql语句,使用dbms_system.kcfrms()过程可以重设最大读、写时间,设置更准确的取样间隔。
- 本文关键词:

