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的用途的更多相关文章

  1. 05 oracle中lock和latch的用途

    oracle中lock和latch的用途   本文向各位阐述Oracle的Latch机制,Latch,用金山词霸翻译是门插栓,闭锁,专业术语叫锁存器,我开始接触时就不大明白为什么不写Lock,不都是锁 ...

  2. 在Oracle中执行动态SQL的几种方法

    转载:在Oracle中执行动态SQL的几种方法 以下为内容留存: 在Oracle中执行动态SQL的几种方法 在一般的sql操作中,sql语句基本上都是固定的,如:SELECT t.empno,t.en ...

  3. Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数

    Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数: select trunc(1.23856789,2) from dual round(m,n) 可以四舍五入 trunc ...

  4. ORACLE中的PL/SQL

    一. 1.过程,函数,触发器是pl/sql编写.                2. 过程函数触发器是在Oracle中.                      3.pl/sql是非常强大的数据库过 ...

  5. oracle中lock和latch的用途

    本文向各位阐述Oracle的Latch机制,Latch,用金山词霸翻译是门插栓,闭锁,专业术语叫锁存器,我开始接触时就不大明白为什么不写Lock,不都是锁吗?只是翻译不同而以?研究过后才知道两者有很大 ...

  6. oracle中视图V$PGA_TARGET_ADVICE的用法

    看一下这个视图能给我们带来什么样的信息(视图中每个列都很有帮助):sys@ora10g> SELECT   pga_target_for_estimate / 1024 / 1024 " ...

  7. Oracle中视图和同义词的区别

    视图和同义词分别都是数据库中的对象名称,它们都不对应实际的数据存储,都依赖其他对象的存在而存在.视图:视图可以被看成是虚拟表或存储查询.除非是索引视图,否则视图的数据不会作为非重复对象存储在数据库中. ...

  8. Oracle中如何用SQL检测字段是否包括中文字符

    用Oracle的编码转换的函数Convert实现,测试后可行. SQL> select *  2    from (select 'abcd' c1 from dual  3          ...

  9. oracle中使用pl/sql进行的文件读写操作

    第一次知道,可以使用pl/sql来进行文件的读写操作,嘿嘿,简单的试了下可行. 基本步骤如下: SQL> conn sys/sys@orcl as sysdba 已连接. SQL> cre ...

随机推荐

  1. poi导出excel文件(桃)

    1.基本可以通用的工具类 package com.idcsol.apps.common.excel; import java.io.IOException; import java.io.Output ...

  2. solr6.6安装

    1. 确保系统已经安装jdk1.8,以及Tomcat8. 注:使用Tomcat7会出现很多问题,我遇到的是直接打不开solr的index页面,看网上有网友说还会遇到各种css.js资源404..还有l ...

  3. java 仓库maven

    工具: apache-maven-3.2.3.zip maven_data.zip 在java Window->Preferences->Maven中 Installations中添加ap ...

  4. 一个关于集合的问题,为什么添加进List集合中的元素被莫名其妙的改变了

    以前自己理解的不够深刻,特此记录一下提醒自己,如果正好也帮到了你,我会很开心.相信只有自己正好遇到这个问题,才觉得哦,原来这样.自己小白,大神莫喷 为什么添加进List集合中的元素被莫名其妙的改变了? ...

  5. IP首部之首部校验和

    首先介绍一下1的补码,2的补码:(摘自http://blog.csdn.net/cradmin/article/details/3092559) 过1的补码,2的补码,到网上搜了下找到这个: It i ...

  6. TensorFlow——共享变量的使用方法

    1.共享变量用途 在构建模型时,需要使用tf.Variable来创建一个变量(也可以理解成节点).当两个模型一起训练时,一个模型需要使用其他模型创建的变量,比如,对抗网络中的生成器和判别器.如果使用t ...

  7. JAVA基础之List接口

    个人理解: list接口是Collection接口的子类,其继承了Collection接口的所有方法,但也有其独有的方法,不过在迭代的时候不要进行任何操作.牢记数据存储的四种结构:堆栈.队列.数组.链 ...

  8. python中mp3转wav(Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work")

    1.下载pydub:pip install pydub 2.下载与操作系统一致的ffmpeg:http://ffmpeg.org/download.html 3.解压后将下载的ffmpeg下的bin目 ...

  9. [Js]删除数组指定元素

    写在前面 在最近的项目中,有用到js对数组的操作,之前自己几乎没有用到这种方法,这里就记录一下,算是对学到的东西的一种总结吧. 数组对象splice方法 splice() 方法向/从数组中添加/删除项 ...

  10. 聊聊、Zookeeper API

    今天我们来说说 Zookeeper 客户端启动,整个文章分三个部分:第一部分是 Zookeeper 原生 API 客户端,第二部分是开源客户端 ZkClient,第三部分是开源客户端 Curator. ...