V $ SYSSTAT小结

  

  V $ SYSSTAT中包含多个统计项,这部分介绍了一些关键的V $ SYSSTAT统计项,在调优方面相当有用。下列按字母先后排序:   

  

  ,   

  

  数据库使用状态的一些关键指标:   

  

  CPU使用这个会话:所有会话的CPU占用量,不包括后台进程。这项统计的单位是百分之x秒。完全调用一次不超过10 ms   

  

  db块变化:那部分造成SGA中数据块变化的插入、更新或删除操作数,这项统计可以大概看出整体数据库状态。在各项事务级别,这项统计指出脏缓存比率。   

  

  执行数:执行sql语的句数量(包括递归sql)   

  

  当前登录:当前连接到实例的会议。如果当前有两个快照则取平均值。   

  

  登录累积:自实例启动后的总登陆次数。   

  

  解析计算(硬):在共享池中解析调用的未命中次数。当sql语句执行并且该语句不在共享池或虽然在共享池但因为两者存在部分差异而不能被使用时产生硬解析。如果一条sql语句原文与当前存在的相同,但查询表不同则认为它们是两条不同语句,则硬解析即会发生。硬解析会带来的cpu和资源使用的高昂开销,因为它需要甲骨文在共享池中重新分配内存,然后再确定执行计划,最终语句才会被执行。   

  

  解析数(总):解析调用总数,包括软解析和硬解析。当会话执行了一条sql语句,该语句已经存在于共享池并且可以被使用则产生软解析。当语句被使用(即共享),所有数据相关的现有sql语句(如最优化的执行计划)必须同样适用于当前的声明。这两项统计可被用于计算软解析命中率。   

  

  解析时间cpu:总cpu解析时间(单位:10 ms)。包括硬解析和软解析。   

  

  解析时间:完成解析调用的总时间花费。   

  

  物理读:操作系统块阅读数。包括插入到SGA缓存区的物理读以及PGA中的直读这项统计并非i/o请求数。   

  

  物理写道:从SGA缓存区被DBWR写到磁盘的数据块以及PGA进程直写的数据块数量。   

  

  重做日志空间请求:在重做日志中服务进程的等待空间,表示需要更长时间的日志开关。   

  

  重做大小:重做发生的总次数(以及因此写入日志缓冲区),以字节为单位。这项统计显示出更新活跃性。   

  

  会话逻辑读:逻辑读请求数。   

  

  排序(记忆)和排序(磁盘):种类(记忆)是适于在SORT_AREA_SIZE(因此不需要在磁盘进行排序)的排序操作的数量.sorts(磁盘)则是由于排序所需空间太大,SORT_AREA_SIZE不能满足而不得不在磁盘进行排序操作的数量。这两项统计通常用于计算内存中的比例。   

  

  种类(行):列排序总数。这项统计可被“类型(总)”统计项除尽以确定每次排序的列。该项可指出数据卷和应用特征。   

  

  表获取由rowid:使用rowid返回的总列数(由于索引访问或sql语句中使用了,rowid=, rowid的而产生)   

  

  表扫描(行了):全表扫描中读取的总列数   

  

  表扫描(块了):全表扫描中读取的总块数,不包括那些拆分的列。   

  

  用户提交+用户回滚:系统事务起用次数。当需要计算其它统计中每项事务比率时该项可以被做为除数。例如,计算事务中逻辑读,可以使用下列公式:会话逻辑读/(用户提交+用户回滚)。   

  

  ,   

  

  注:SQL语句的解析有软解析软解析与硬解析硬解析之说,以下是5个步骤:   

  

  1:语法是否合法(sql写法)   

  

  2:语义是否合法(权限,对象是否存在)   

  

  3:检查该sql是否在公享池中存在   

  

  ——,如果存在,直接跳过4和5、运行sql只此时算软解析   

  

  4:选择执行计划   

  

  5:产生执行计划   

  

  ——,如果5个步骤全做,这就叫硬解析。   

  

  ,   

  

  <强>注意物理I/O   

  

  ,   

  

  甲骨文报告物理读也许并未导致实际物理磁盘I/O操作。这完全有可能因为多数操作系统都有缓存文件,可能是那些块在被读取。块也可能存于磁盘或控制级缓存以再次避免实际I/O.Oracle报告有物理读也许仅仅表示被请求的块并不在缓存中。   

V $ SYSSTAT小结