Oracle新的时间信息特性
首先:三行中的第二行显示出了持续时间小于cpu执行时间,实际的情况是cpu字段记录单位是微妙级,但是数据被进位保留到了厘秒级。
Sql语句的等待时间等于ELAPSED_TIME减去CPU_TIME,但是很难看到精确的等待时间。在V$SYSTEM_EVENT 视图中能够看到数据库实例级的等待时间(并不是每条Sql语句的),但是看不到发生在操作系统上(cpu等待、内存的等待)的等待时间s。
X$KSQST的改变 (对应视图V$ENQUEUE_STAT)
基础表X$KSQST主要显示关于系统中队列的信息。在9i之前只能提供队列类型的get和wait数。一个队列有两种特征和两个标识组成(id1 and id2)。例如一个叫做TX队列,表示一个事务队列。从Oracle9i开始不但能够看到gets 和waits,而且等待的时间和得不到队列(中断或者超时)的失败次数都可以看到。
X$KSQST
KSQSTWTIMNUMBER以微妙作为单位然而这里仍不能将队列等待与Sql语句关联,也不能够得到等待队列的Sql语句到底等待了多久。下面的一个新的视图v$enqueue_stat 将提供关于队列得更多信息:
V$ENQUEUE_STAT
INST_IDNUMBER
EQ_TYPEVARCHAR2
TOTAL_REQ#NUMBER
TOTAL_WAIT#NUMBER
SUCC_REQ#NUMBER
FAILED_REQ#NUMBER
CUM_WAIT_TIMENUMBER
V$SYSSTAT的改变实际这个视图并没有什么改变,关于时间的信息仍然在厘秒级。
V$SYSSTAT
CPU used by this session厘秒
Parse time cpu厘秒
Parse time厘秒
Recursive cpu usage厘秒
当从不同资源中比较数据时应该注意。
V$WAITSTAT的改变
这个视图显示了发生在块级的buffer busy waits的细目描述,等待时间的单位在微妙级。