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. ai相关

    学习资源 1.1 1.2 2.1 2.2 2.3 前置 octave sklearn python3 git 学习相关 link 定义 Field of study that gives comput ...

  2. 水晶报表 IE设置

    水晶报表:Crystal Reports(水晶报表)是一款商务智能(BI)软件,主要用于设计及产生报表.水晶报表是业内最专业.功能最强的报表系统,它除了强大的报表功能外,最大的优势是实现了与绝大多数流 ...

  3. [网络流24题] COGS 搭配飞行员

    14. [网络流24题] 搭配飞行员 ★★☆   输入文件:flyer.in   输出文件:flyer.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述]     飞行大队 ...

  4. 修改手機的 input source 及 charger 及 usb 相關電路後,容易忽略的事項

    input source 及 charger 需要注意, 是否可以在關機的狀況下充電, 當然 開機充電 是一定要的. usb 部分需要注意, 是否可以在沒有電或者是有電的狀況下 download 程式 ...

  5. Java发送邮件--web.xml配置,Java代码配置

    前言:我目前总结的使用java发送邮件的方式有两种,分别是在spring框架xml配置文件使用bean标签,另一种方法是把发送功能封装成一个对象,废话不多说上代码, 边看代码边讲解,希望对需要的人能有 ...

  6. hdu 2824(欧拉函数)

    The Euler function Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  7. POJ2546 Circular Area(计算几何)

                                                                                Circular Area            ...

  8. JAVA基础之集合、Iterator迭代器、泛型及增强for循环

    个人理解: 对于集合,首先要明确的是最顶层的接口是Collection接口类,其包含一些基本的方法以便子类调用,不过在定义的时候最好定义好数据类型,以免遍历时还得必须进行向上转型:特别注意的是其没有关 ...

  9. BZOJ 1188 [HNOI2007]分裂游戏

    AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=1188 学习SG函数的过程中,我先看了一篇叫做 <2008-贾志豪-组合数学略述... ...

  10. 生成唯一标识符 ,通用唯一标识符 UUID

    import java.util.UUID; /** * UUID生成工具 * */ public final class UuidGenUtils { /** * 生成一个UUID串(32个字符,其 ...