34.Oracle杂记——Oracle常用动态视图v$sqltext
34.Oracle杂记——Oracle常用动态视图v$sqltext 视图v$sqltext显示SGA中共享SQL游标中的 SQL语句文本。 视图描述如下: sys@PDB1> desc v$sqltext; Name Null? Type ------------------------------------------------------------- ------------------------------------ ADDRESS RAW(8) HASH_VALUE NUMBER SQL_ID VARCHAR2(13) COMMAND_TYPE NUMBER PIECE NUMBER SQL_TEXT VARCHAR2(64) CON_ID NUMBER 各个列属性如下: ADDRESS :和HASH_VALUE列唯一确定缓存的游标 HASH_VALUE :和ADDRESS列唯一确认缓存的游标 SQL_ID:缓存游标的SQLID COMMAND_TYPE:SQL语句的类型(SELECT,INSERT等) PIECE:用于SQL文本排序的号(SQL语句被分片了,需要需要排序合成) SQL_TEXT:SQL文本的其中一部分 CON_ID:容器ID v$sql,v$sqltext,v$sqlarea差异这3个视图:v$sql,v$sqlarea的关系比较微妙: 简单描述如下: 主要是提供library cache中当前缓存的sql语句的信息。都可以提供当前有关sql语句的具体信息,但稍有差异。 游标,包含shared cursor,sessioncursor,一条sql语句对应一个或多个游标,一条sql语句至少解析为一个游标。 当sql语句被解析到shared_pool中之后,会产生相应的游标,如下三种情形, 注:在shared_pool由于aged out原则后的sql可能无法在该视图查询到, v$sql存储所有游标,v$sqlarea等同于使用了distinct关键字,仅保留sql语句。v$sqltext提供完整的sql语句。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |