oracle中视图v$sql的用途
1、获取正在执行的sql语句、sql语句的执行时间、sql语句的等待事件:
select a.sql_text,b.status,b.last_call_et,b.machine,b.event,b.program from v$sql a,v$session b where a.sql_id=b.sql_id
2、获取sql语句执行时间:
select sql_text,cpu_time/1000/1000 t_cpu,trunc(elapsed_time/1000/1000) t_elapse from v$sql
但是并不是所有的sql语句都可以从v$sql中得到,因为oracle会动态的更新共享池的信息,将一些过旧的sql语句从共享池中剔除,以便为新的sql语句提供共享池的空间
手动清空共享池信息:
alter system flush shared_pool
V$SQL中的列说明:
l SQL_TEXT: SQL文本的前 1000个字符
l SHARABLE_MEM:占用的共享内存大小 (单位: byte)
l PERSISTENT_MEM:生命期内的固定内存大小 (单位: byte)
l RUNTIME_MEM:执行期内的固定内存大小
l SORTS:完成的排序数
l LOADED_VERSIONS:显示上下文堆是否载入, 1是 0否
l OPEN_VERSIONS:显示子游标是否被锁, 1是 0否
l USERS_OPENING:执行语句的用户数
l FETCHES: SQL语句的 fetch数。
l EXECUTIONS:自它被载入缓存库后的执行次数
l USERS_EXECUTING:执行语句的用户数
l LOADS:对象被载入过的次数
l FIRST_LOAD_TIME:初次载入时间
l INVALIDATIONS:无效的次数
l PARSE_CALLS:解析调用次数
l DISK_READS:读磁盘次数
l BUFFER_GETS:读缓存区次数
l ROWS_PROCESSED:解析 SQL语句返回的总列数
l COMMAND_TYPE:命令类型代号
l OPTIMIZER_MODE: SQL语句的优化器模型
l OPTIMIZER_COST:优化器给出的本次查询成本
l PARSING_USER_ID:第一个解析的用户 ID
l PARSING_SCHEMA_ID:第一个解析的计划 ID
l KEPT_VERSIONS:指出是否当前子游标被使用 DBMS_SHARED_POOL包标记为常驻内存
l ADDRESS:当前游标父句柄地址
l TYPE_CHK_HEAP:当前堆类型检查说明
l HASH_VALUE:缓存库中父语句的 Hash值
l PLAN_HASH_VALUE:数值表示的执行计划。
l CHILD_NUMBER:子游标数量
l MODULE:在第一次解析这条语句是通过调用 DBMS_APPLICATION_INFO.SET_MODULE设置的模块名称。
l ACTION:在第一次解析这条语句是通过调用 DBMS_APPLICATION_INFO.SET_ACTION设置的动作名称。
l SERIALIZABLE_ABORTS:事务未能序列化次数
l OUTLINE_CATEGORY:如果 outline在解释 cursor期间被应用,那么本列将显示出 outline各类,否则本列为空
l CPU_TIME:解析 /执行 /取得等 CPU使用时间 (单位,毫秒 )
l ELAPSED_TIME:解析 /执行 /取得等消耗时间 (单位,毫秒 )
l OUTLINE_SID: outline session标识
l CHILD_ADDRESS:子游标地址
l SQLTYPE:指出当前语句使用的 SQL语言版本
l REMOTE:指出是否游标是一个远程映象 (Y/N)
l OBJECT_STATUS:对象状态 (VALID or INVALID)
l IS_OBSOLETE:当子游标的数量太多的时候,指出游标是否被废弃 (Y/N)
V$SESSION中的常用列
V$SESSION是基础信息视图,用于找寻用户 SID或 SADDR。不过,它也有一些列会动态的变化,可用于检查用户。如例:
SQL_HASH_VALUE, SQL_ADDRESS:这两列用于鉴别默认被 session执行的 SQL语句。如果为 null或 0,那就说明这个 session没有执行任何 SQL语句。 PREV_HASH_VALUE和 PREV_ADDRESS两列用来鉴别被 session执行的上一条语句。
注意:当使用 SQL*Plus进行选择时,确认你重定义的列宽不小于 11以便看到完整的数值。
STATUS:这列用来判断 session状态是:
l Achtive:正执行 SQL语句 (waiting for/using a resource)
l Inactive:等待操作 (即等待需要执行的 SQL语句 )
l Killed:被标注为删除
下列各列提供 session的信息,可被用于当一个或多个 combination未知时找到 session。
Session信息
l SID: SESSION标识,常用于连接其它列
l SERIAL#:如果某个 SID又被其它的 session使用的话则此数值自增加 (当一个 SESSION结束,另一个 SESSION开始并使用了同一个 SID)。
l AUDSID:审查 session ID唯一性,确认它通常也用于当寻找并行查询模式
l USERNAME:当前 session在 oracle中的用户名。
Client信息
数据库 session被一个运行在数据库服务器上或从中间服务器甚至桌面通过 SQL*Net连接到数据库的客户端进程启动,下列各列提供这个客户端的信息
l OSUSER:客户端操作系统用户名
l MACHINE:客户端执行的机器
l TERMINAL:客户端运行的终端
l PROCESS:客户端进程的 ID
l PROGRAM:客户端执行的客户端程序
要显示用户所连接 PC的 TERMINAL、 OSUSER,需在该 PC的 ORACLE.INI或 Windows中设置关键字 TERMINAL, USERNAME。
Application信息
调用 DBMS_APPLICATION_INFO包以设置一些信息区分用户。这将显示下列各列。
l CLIENT_INFO: DBMS_APPLICATION_INFO中设置
l ACTION: DBMS_APPLICATION_INFO中设置
l MODULE: DBMS_APPLICATION_INFO中设置
下列 V$SESSION列同样可能会被用到:
l ROW_WAIT_OBJ#
l ROW_WAIT_FILE#
l ROW_WAIT_BLOCK#
l ROW_WAIT_ROW#
oracle中视图v$sql的用途的更多相关文章
- 05 oracle中lock和latch的用途
oracle中lock和latch的用途 本文向各位阐述Oracle的Latch机制,Latch,用金山词霸翻译是门插栓,闭锁,专业术语叫锁存器,我开始接触时就不大明白为什么不写Lock,不都是锁 ...
- 在Oracle中执行动态SQL的几种方法
转载:在Oracle中执行动态SQL的几种方法 以下为内容留存: 在Oracle中执行动态SQL的几种方法 在一般的sql操作中,sql语句基本上都是固定的,如:SELECT t.empno,t.en ...
- Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数
Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数: select trunc(1.23856789,2) from dual round(m,n) 可以四舍五入 trunc ...
- ORACLE中的PL/SQL
一. 1.过程,函数,触发器是pl/sql编写. 2. 过程函数触发器是在Oracle中. 3.pl/sql是非常强大的数据库过 ...
- oracle中lock和latch的用途
本文向各位阐述Oracle的Latch机制,Latch,用金山词霸翻译是门插栓,闭锁,专业术语叫锁存器,我开始接触时就不大明白为什么不写Lock,不都是锁吗?只是翻译不同而以?研究过后才知道两者有很大 ...
- oracle中视图V$PGA_TARGET_ADVICE的用法
看一下这个视图能给我们带来什么样的信息(视图中每个列都很有帮助):sys@ora10g> SELECT pga_target_for_estimate / 1024 / 1024 " ...
- Oracle中视图和同义词的区别
视图和同义词分别都是数据库中的对象名称,它们都不对应实际的数据存储,都依赖其他对象的存在而存在.视图:视图可以被看成是虚拟表或存储查询.除非是索引视图,否则视图的数据不会作为非重复对象存储在数据库中. ...
- Oracle中如何用SQL检测字段是否包括中文字符
用Oracle的编码转换的函数Convert实现,测试后可行. SQL> select * 2 from (select 'abcd' c1 from dual 3 ...
- oracle中使用pl/sql进行的文件读写操作
第一次知道,可以使用pl/sql来进行文件的读写操作,嘿嘿,简单的试了下可行. 基本步骤如下: SQL> conn sys/sys@orcl as sysdba 已连接. SQL> cre ...
随机推荐
- 股票交易(bzoj 1855)
Description 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未来T天内某只股票的走势,第i天的股票买入价 ...
- pat 甲级 1065. A+B and C (64bit) (20)
1065. A+B and C (64bit) (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 HOU, Qiming G ...
- EntityFramework4.1 MODEL代码生成器 database first
原文发布时间为:2011-04-02 -- 来源于本人的百度文章 [由搬家工具导入] Generating EF Code First model classes from an existing d ...
- FCKEDITOR配置说明
原文发布时间为:2009-10-12 -- 来源于本人的百度文章 [由搬家工具导入] fckeditor config.js配置2009-02-13 14:36 FCKConfig.CustomCon ...
- Docker(五):镜像
一,什么是镜像? Docker的镜像文件是由文件系统叠加而成的.最底端是一个引导文件系统,即bootfs.Docker用户几乎永远没有机会和引导文件有什么交互,实际上,当一个容器启动之后,容器就会被移 ...
- javascript 之 className属性
Javascript 可以通过className 属性灵活的更改一个标签元素的CSS 类选择器来实现样式的变化. 1.用className 属性修改节点的css类别 代码如下: <html> ...
- Android关于版本更新下载安装之踩坑记录(针对7.0以上)
最近刚刚把古老的项目targetSdk版本升级到26,升级之前是19(非常非常古老了).那么升级后一些问题开始出现. Android 8.0 (Android O)为了针对一些流氓软件引导用户安装其他 ...
- Codeforces Round #466 (Div. 2) A. Points on the line[数轴上有n个点,问最少去掉多少个点才能使剩下的点的最大距离为不超过k。]
A. Points on the line time limit per test 1 second memory limit per test 256 megabytes input standar ...
- 对动态规划(Dynamic Programming)的理解:从穷举开始(转)
转自:http://janfan.cn/chinese/2015/01/21/dynamic-programming.html 动态规划(Dynamic Programming,以下简称dp)是算法设 ...
- usaco-Money Systems
题意: 给出几种硬币,求可用这几种硬币组合出价值为n的方案数.分析: 设dp[i]表示组合出价值i的方案数,则,dp[i]=∑dp[i-val[j]]. #include <iostream&g ...