oracle性能监控视图简介

2014-06-14

V$SQL 
V$SQL在子游标级别上列出了在共享sql区域的统计信息,他将原始sql文本展现为一行。V$SQL中的视图信息一般在sql执行的最后进行更新。然而,对于长时间执行的sql,每5秒会更新一次v$sql视图。这使得很容易查看长时间执行的sql在运行过程中带来的影响。
v$sql列说明,如没有特别说明,均指子游标
SQL_TEXT           当前正在执行的游标的sql文本的前1000个字符
SQL_FULLTEXT          CLOB类型 整个sql文本,不用借助于V$SQL_TEXT视图来查看整个文本。
SQL_ID           库缓存中的SQL父游标的标志
SHARABLE_MEM           子游标使用的共享内存的大小,bytes
PERSISTENT_MEM           子游标生存时间中使用的固定内存的总量,bytes
RUNTIME_MEM           在子游标执行过程中需要的固定内存大小,bytes
SORTS           子游标发生的排序数量
LOADED_VERSIONS           显示上下文堆是否载入,1是,0否
USERS_OPENING           执行这个sql的用户数
FETCHES           sql取数据的次数
EXECUTIONS           自从被载入共享池后,sql执行的次数 
FIRST_LOAD_TIME           父游标产生的时间戳
PARSE_CALLS           解析调用的次数 
DISK_CALLS             读磁盘的次数
DIRECT_WRITES           直接写的次数
BUFFER_GETS           直接从buffer中得到数据的次数
APPLICATION_WAIT_TIME           应用等待时间,毫秒
CONCURRENCY_WAIT_TIME           并发等待时间,毫秒
USER_IO_WAIT_TIME           用户IO等待时间
ROWS_PROCESSED SQL           解析sql返回的总行数
OPTIMIZER_MODE           优化器模式
OPTIMIZER_COST           优化器对于sql给出的成本
PARSING_USER_ID           第一个创建这个子游标的用户id
HASH_VALUES           解析产生的哈希值
CHILD_NUMBER           该子游标的数量
SERVICE           服务名
CPU_TIME           该子游标解析,执行和获取数据使用的CPU时间,毫秒
ELAPSED_TIME           sql的执行时间,毫秒
INVALIDATIONS           该子游标的无效次数
MODULE            第一次解析该语句时,通过DBMS_APPLICAITON_INFO.SET_ACTION设置的模块名
ACTION             第一次解析该语句时,通过DBMS_APPLICAITON_INFO.SET_ACTION设置的动作名 
IS_OBSOLETE           标记该子游标过期与否,当子游标过大时会发生这种情况
is_bind_sensitive           不仅指出是否使用绑定变量窥测来生成执行计划,而且指出这个执行计划是否依赖于窥测到的值。如果是,这个字段会被设置为Y,否则会被设置为N。
is_bind_aware           表明游标是否使用了扩展的游标共享。如果是,这个字段会被设置为Y,如果不是,这个字段会被设置为N。如果是设置为N,这个游标将被废弃,不再可用。
is_shareable           表明游标能否被共享。如果可以,这个字段会被设置为Y,否则,会被设置为N。如果被设置为N,这个游标将被废弃,不再可用。
v$sqlarea
v$sqlarea的字段定义和v$sql基本一致,不同的是V$SQLAREA是在父游标级别上统计的sql信息,v$sql的汇总表,进行了group by hash_value,sql_id的汇总。
v$sqltext
本视图包括Shared pool中SQL语句的完整文本,一条SQL语句可能分成多个块被保存于多个记录内。
注:V$SQLAREA和v$sql中的
SQL_TEXT字段只包括头1000个字符, SQL_FULLTEXT以CLOB方式包含了所有的字符
V$SQLTEXT列说明
HASH_VALUE
           SQL语句的Hash值
ADDRESS
           sql语句在SGA中的地址
SQL_TEXT
           SQL文本。
PIECE
           SQL语句块的序号
SQL_ID
           SQL id
COMMAND_TYPE
             命令类型,如select、insert等
v$sqlstats
V$SQLSTATS是10g R2新加入到视图,该视图中保存着sql游标性能的统计信息。 V$SQLSTATS中的列定义和V$SQL与V$SQLAREA中的基本一致,但保存的信息时间更长。由于保存着完整的sql语句,使用起来也更快捷,不需要在将V$SQL和V$SQLTEXT进行关联查询。
v$sql_plan
该视图提供了一种方式检查那些执行过的并且仍在缓存中的cursor的执行计划。通常,该视图提供的信息与打印出的EXPLAIN PLAN非常相似,不过,EXPLAIN PLAN显示的是理论上的计划,并不一定在执行的时候就会被使用,但V$SQL_PLAN中包括的是实际被使用的计划。获自EXPLAIN PLAN语句的执行计划跟具体执行的计划可以不同,因为cursor可能被不同的session参数值编译(如,HASH_AREA_SIZE)。利用V$SQL_PLAN中数据可以: 
确认当前的执行计划 
鉴别创建表索引效果 
寻找cursor包括的存取路径(例如,全表查询或范围索引查询) 
鉴别索引的选择是否最优 
决定是否最优化选择的详细执行计划(如,nested loops join)如开发者所愿。 
V$SQL_PLAN的常用列说明: 
除了一些新加列,本视图几乎包括所有的PLAN_TABLE列,那些同样存在于PLAN_TABLE 中的列拥有相同的值
ADDRESS
              当前cursor父句柄位置 
HASH_VALUE
              在library cache中父语句的HASH值。ADDRESS和HASH_VALUE这两列可以被用于连接v$sqlarea查询cursor-specific信息。 
CHILD_NUMBER
              使用这个执行计划的子cursor数。ADDRESS,HASH_VALUE以及CHILD_NUMBER可被用于连接v$sql查询子cursor信息。 
OPERATION
              在 各步骤执行内部操作的名称,例如:TABLE ACCESS 
OPTIONS
              描述列OPERATION在操作上的变种,例如:FULL 
OBJECT_NODE
              用于访问对象的数据库链接database link的名称对于使用并行执行的本地查询该列能够描述操作中输出的次序。 
OBJECT#
              表或索引对象数量 
OBJECT_OWNER
              对于包含有表或索引的架构schema 给出其所有者的名称 
OBJECT_NAME
              表或索引名 
OPTIMIZER
              执行计划中首列的默认优化模式;例如,CHOOSE。比如业务是个存储数据库,它将告知是否对象是最优化的。 
ID
              在执行计划中分派到每一步的 序号 。 
PARENT_ID
              对ID步骤的输出进行操作的下一个执行步骤的ID 。 
DEPTH
              操作树的深度(或级) ,第一级操作为0级 
POSITION
              对于具有相同PARENT_ID的操作其相应的处理次序。
COST
              cost-based方式优化的操作开销的评估,如果语句使用rule-based方式,本列将为空。
CARDINALITY
              根据 cost-based 方式 操作所访问的行数的评估。 
BYTES
              根据cost-based方式操作产生的字节的评估。 
OTHER_TAG
              其它列的内容说明。 
PARTITION_START
              范围存取分区中的开始分区。 
PARTITION_STOP
              范围存取分区中的结束分区。 
PARTITION_ID
              计算PARTITION_START和PARTITION_STOP这对列值的步数 
OTHER
              其它信息即执行步骤细节,供用户参考。 
DISTRIBUTION
              为了并行查询,存储用于从生产服务器到消费服务器分配列的方法 
CPU_COST
              根据cost-based方式CPU操作开销的评估。如果语句使用rule-based方式,本列为空。 
IO_COST
              根据cost-based方式I/O操作开销的评估。如果语句使用rule-based方式,本列为空。 
TEMP_SPACE
              根据cost-based方式操作(sort or hash-join)的临时空间占用评估。如果语句使用rule-based方式,本列为空。 
ACCESS_PREDICATES
              影响访问结构的谓词,例如,在范围索引查询中的开始或者结束位置。
FILTER_PREDICATES
              进行数据过滤的谓词 

作者:robotbird, 分类:关于代码 标签: oracle , 浏览(2243), 评论(1)
上一篇: oracle查看表空间使用率及修改表空间大小
下一篇: 从今天开始坚持不刷技术类文章

相关文章

(1)条评论 订阅

  1. ${item.nickname} 币安网 说:

    每5秒会更新一次v$sql视图。

1

发表评论

电子邮件用于回复通知和avatar全球唯一头像 *

*