Oracle中v$sqlarea与v$sql_plan全面分析

2014-11-24 18:29:02 · 作者: · 浏览: 2

这三个视图都可以用于查询共享池中已经解析过的SQL语句及其相关信息。


V$SQL中列出了共享SQL区中所有语句的信息,它不包含GROUP BY字句,并且为每一条SQL语句中单独存放一条记录;


V$SQLAREA中一条记录显示了一条共享SQL区中的统计信息。它提供了有在内存中、解析过的和准备运行的SQL语句的统计信息;


V$SQLTEXT包含了库缓存中所有共享游标对应的SQL语句。它将SQL语句分片显示。


下面介绍一下我常用的V$SQLAREA的结构:


查看当前会话所执行的语句以及会话相关信息:


视图V$SQL_PLAN包含了library cache中所有游标的执行计划。通过结合v$sqlarea可以查出library cache中所有语句的查询计划。先从v$sqlarea中得到语句的地址,然后在由v$sql_plan查出它的查询计划: