下面,我们就介绍一下这些相关SQL执行情况的视图。我们再强调一个名词,对于从任何地方传递给Oracle数据库服务器要求执行的东西,我们都称为游标。它主要包括SQL语句和PL/SQL程序段。
1.V$SQL
SQL_TEXT:SQL语句的文本
SQL_FULLTEXT:SQL语句的完全文本
SQL_ID
SHARABLE_MEM:游标所占共享内存
PERSISTENT_MEM:游标持续期所占用的Fixed(固定)内存
RUNTIME_MEM:游标在运行期所占用的Fixed(固定)内存
SORTS:游标完成的排序次数
LOADED_VERSIONS:游标在库缓存所占的内存堆是否被加载
OPEN_VERSIONS:游标是否被锁定。
USERS_OPENING:打开游标的会话数。也就是当前正在缓存游标到PGA中的会话数。游标被执行三次后,就会被缓存到PGA中。此数值就加1。
FETCHES:抓取的次数
EXECUTIONS:执行次数
PX_SERVERS_EXECUTIONS:以并行方式执行的总次数
END_OF_FETCH_COUNT:抓取全部行的次数
USERS_EXECUTING:当前正在执行此游标的会话数
LOADS:游标被加载或重新加载到库缓存中的次数。游标只所以被重新加载有可能是游标无效或库缓存内存不足。
FIRST_LOAD_TIME:游标被第一次被加载的时间。也就是生成执行计划的时间
INVALIDATIONS:游标的无效次数
PARSE_CALLS:游标的解析次数,包括硬解析与软解析
DISK_READS:游标执行了多少次物理读
DIRECT_WRITES:游标直接写的次数
BUFFER_GETS:逻辑读的次数
APPLICATION_WAIT_TIME:应用程序的等待时间,单位微秒
CONCURRENCY_WAIT_TIME:并行的等待时间,单位微秒
CLUSTER_WAIT_TIME:Cluster等待时间
USER_IO_WAIT_TIME:用户I/O等待时间
PLSQL_EXEC_TIME:PL/SQL执行时间
JAVA_EXEC_TIME:Java执行时间
ROWS_PROCESSED:游标一共抓取了多少行。同样的行,每抓取一次此列都会增加
COMMAND_TYPE:命令类型
OPTIMIZER_MODE:优化器模式
OPTIMIZER_COST:执行计划的成本
OPTIMIZER_ENV:执行时的环境
OPTIMIZER_ENV_HASH_VALUE:环境的HASH值
PARSING_USER_ID:最先解析此游标的用户的ID
PARSING_SCHEMA_ID:最先解析此游标的方案ID
PARSING_SCHEMA_NAME:最先解析此游标的方案ID
KEPT_VERSIONS:是否使用DBMS_SHARED_POOL包将游标Pin到库缓存中
ADDRESS:父游标句柄的地址
TYPE_CHK_HEAP:
HASH_VALUE:游标的HASH值
OLD_HASH_VALUE:老HASH值
PLAN_HASH_VALUE:执行计划的HASH值。(上述三个HASH值并不相同)
CHILD_NUMBER:子游标数量
SERVICE:
SERVICE_HASH
MODULE:第一次解析游标的应用程序名。可以在应用程序中通过调用DBMS_APPLICATION_INFO.SET_MODULE设置。
MODULE_HASH:应用程序名的HASH值
ACTION:第一次解析时的动作名。可以在应用程序中通过调用DBMS_APPLICATION_INFO.SET_ACTION设置。
ACTION_HASH:动作名的HASh值
SERIALIZABLE_ABORTS:每个游标产生ORA-08177 errors错误(事务串行化无效)的次数。
OUTLINE_CATEGORY:大纲类型
CPU_TIME:游标解析、执行、抓取时所用的CPU时间。单位是微秒。
ELAPSED_TIME:游标解析、执行、抓取时所用的总时间。单位是微秒。
OUTLINE_SID:大纲会话的SID
CHILD_ADDRESS:游标本身的地址
SQLTYPE:游标所用的SQL语言的版本
REMOTE:游标是否是远端映像的
OBJECT_STATUS:对象状态
LITERAL_HASH_VALUE:游标文本的HASH值
LAST_LOAD_TIME:执行计划最后一次被加载到库缓存中的时间。
IS_OBSOLETE:当子游标太多时,此子游标是否被荒废。
CHILD_LATCH:保护游标的子闩编号
SQL_PROFILE:SQL的概要文件
PROGRAM_ID:过程ID
PROGRAM_LINE#
EXACT_MATCHING_SIGNATURE
FORCE_MATCHING_SIGNATURE
LAST_ACTIVE_TIME:最后一次使用执行计划的时间。
BIND_DATA:绑定变量的信息
这个视图中DISK_READS、BUFFER_GETS、CPU_TIME、ELAPSED_TIME这四个列在调优SQL语句时最为重要。在数据库系统的速度不是太另人满意时,如果你已经确定过了,不是其他方面的原因,而是SQL语句性能的问题,只是无法确定是那条、或那些条语句拖慢了整体的速度。那么此时选择调优物理读、逻辑读最多的,或最耗CPU时间的SQL语句进行调节,往往可以取得今人满意的性能增长。