Oracle V$SQLAREA】的更多相关文章

解决oracle v$sqlarea sql不完整根据SELECT * FROM v$sqlarea中找到hash_value然后执行SELECT * FROM v$sqltext WHERE hash_value = '&hash_value' ORDER BY piece即可得到完整的sql语句…
V$SQLAREA 记录shared SQL area中语句统计信息: V$SQLAREA持续跟踪所有shared pool中的共享cursor,在shared pool中的每一条SQL语句都对应一列 SQL_TEXT VARCHAR2(1000) SQL语句的前1000个字符 SHARABLE_MEM NUMBER 被游标占用的共享内存大小如果存在多个子游标,则包含所有子游标占用的共享内存大小 PERSISTENT_MEM NUMBER 用于一个打开这条语句的游标的生命过程中的固定内存大小如果…
-如何确定系统中是否存在绑定变量的情况:首先创建一个表,用于存放整理过得数据:create table t1 as select sql_text from v$sqlarea;----V$SQLAREA本视图持续跟踪所有shared pool中的共享cursor,--在shared pool中的每一条SQL语句都对应一列.本视图在分析SQL语句资源使用方面非常重要./***1.查看消耗资源最多的SQL:SELECT hash_value, executions, buffer_gets, di…
遇到需要排查一个系统使用sql的情况,可以通过查询Oracle的$sql.$ssssion.$sqlarea进行统计排查 排查时可以先看一下$sql和$session的基本信息 select * from v$sql a, v$session b where b.SQL_ADDRESS = a.ADDRESS and b.SQL_HASH_VALUE = a.HASH_VALUE and b.SQL_CHILD_NUMBER = a.CHILD_NUMBER $sqlarea表列意思: 引用:h…
v$sql V$SQL中存储具体的SQL语句. 一条语句可以映射多个cursor,因为对象所指的cursor可以有不同用户(如例1).如果有多个cursor(子游标)存在,在V$SQLAREA为所有cursor提供集合信息. 例1: 这里介绍以下child cursor user A: select * from tbl user B: select * from tbl 大家认为这两条语句是不是一样的啊,可能会有很多人会说是一样的,但我告诉你不一定,那为什么呢? 这个tblA看起来是一样的,但…
转载于作者:dbtan 原文链接:http://www.dbtan.com/2009/12/vsql-and-vsqlarea-view.html v$sql和v$sqlarea视图: 上文提到,v$sqlarea和v$sql两个视图的不同之处在于,v$sql中为每一条SQL保留一个条目,而v$sqlarea中根据sql_text进行group by,通过version_count计算子指针的个数.下面对这个问题进行一点延伸探讨. 首先介绍一下v$sql视图,v$sql视图列举了共享SQL区(S…
一.分析 (1)使用 least recently used (LRU) algorithm 来管理的,不用的自动踢出,可以使用keep 将需要的语句 保存在 library cache中. 所以应该跟内存大小有关,还有跟调度策略什么的 系统中没有能报错所有sql的视图. (2)v$session 和gv$session 只在RAC中区别明显,有g是全局的,rac的两个数据库中的内容,没有是但实例的数据库的,内容不全 rac么?  gv$开头视图是rac全局的,v$开头是本节点的 gv$sess…
原文摘自:http: [V$SQLAREA]  本视图持续跟踪所有shared pool中的共享cursor,在shared pool中的每一条SQL语句都对应一列.本视图在分析SQL语句资源使用方面非常重要. [V$SQLAREA中的信息列] HASH_VALUE:SQL语句的Hash值. ADDRESS:SQL语句在SGA中的地址. 这两列被用于鉴别SQL语句,有时,两条不同的语句可能hash值相同.这时候,必须连同ADDRESS一同使用来确认SQL语句. PARSING_USER_ID:为…
--数据字典表select * from v$fixed_table;select * from v$fixed_view_definition;select * from dictionary; --基础信息select * from v$version;select * from v$license;select * from v$database;select * from v$instance;select * from v$sga; select * from v$spparamete…
Oracle 11g在DBMS_SHARED_POOL包中引入了一个名为PURGE的新存储过程,用于从对象库缓存中刷新特定对象,例如游标,包,序列,触发器等.也就是说可以删除.清理特定SQL的执行计划,这样在特殊情况下,就避免你要将整个SHARED POOL清空的危险情况.例如某个SQL语句由于优化器产生了错误的执行计划,我们希望优化器重新解析,生成新的执行计划,必须先将SQL的执行计划从共享池中刷出或将其置为无效,那么优化器才能将后续SQL进行硬解析.生成新的执行计划.这在以前只能使用清空共享…