Oracle能做到self-monitoring但是做不到self-tuning,oracle收集了大量的性能数据,包括instance级和session级。
WAIT EVENT
Session连接到oracle instance后需要获取某些资源来完成它的任务,这里所说的资源可能是databuffer, latch, enqueue(lock),pin 或者db object. 当一个Session处于等待状态时,其等待时间被记录到对应的wait event中。
例1:session需要一个不存在于SGA中的index block,等待这个数据块的时间被记录到db file sequential read event.
例2:session完成了任务正处于idle状态,等待用户的输入,此时,等待时间被记入SQL*Net message from client。
简要地说,当session不使用CPU时,它一定是在等待某一个资源、或等待用户操作。因此,events往往被称之为wait events.
OWI Components
OWI是由一系列的动态性能视图和一个扩展SQL Trace文件组成的。
OWI提供了对wait events的统计信息,如等待的某个资源的次数以及等待某个资源的总的时间。获取等待累计等待时间的前提是将TIMED_STATISTICS参数设为TRUE,现在设置这个参数已经不会带来系统压力,因为绝大多数的服务器都提供硬件级的fast timer支持。
OWI主要包括以下动态性能试图:
V$EVENT_NAME
V$SESSION_WAIT(*)
V$SESSION_EVENT(*)
V$SYSTEM_EVENT(*)
V$SYSTEM_WAIT_CLASS(10G新增)
V$SESSION_WAIT_CLASS(10G新增)
V$SESSION_WAIT_HISTORY(10G新增)
V$EVENT_HISTOGRAM(10G新增)
V$ACTIVE_SESSION_HISTORY(10G新增)
对这些视图的查询往往是反复的,可以使用扩展 SQL Trace 功能将这些信息抓取到 trace 文件中,然后用 tkprof 工具分析。来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/55472/viewspace-425553/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/55472/viewspace-425553/