`
hejianhuacn
  • 浏览: 69804 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

通过v$sqlarea,v$sql查询最占用资源的查询

阅读更多

                    ---原文链接:http://blog.chinaunix.net/u/3866/showart_396335.html

 

v$sqlarea,v$sql
-----------------------

从V$SQLAREA中查询最占用资源的查询
select b.username username,a.disk_reads reads,
    a.executions exec,a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio,
    a.sql_text Statement
from  v$sqlarea a,dba_users b
where a.parsing_user_id=b.user_id
 and a.disk_reads > 100000
order by a.disk_reads desc;
用buffer_gets列来替换disk_reads列可以得到占用最多内存的sql语句的相关信息。
 
V$SQL是内存共享SQL区域中已经解析的SQL语句。

列出使用频率最高的5个查询:
select sql_text,executions
from (select sql_text,executions,
   rank() over
    (order by executions desc) exec_rank
   from v$sql)
where exec_rank <=5;
消耗磁盘读取最多的sql top5:
select disk_reads,sql_text
from (select sql_text,disk_reads,
   dense_rank() over
     (order by disk_reads desc) disk_reads_rank
   from v$sql)
where disk_reads_rank <=5;

找出需要大量缓冲读取(逻辑读)操作的查询:
select buffer_gets,sql_text
from (select sql_text,buffer_gets,
   dense_rank() over
     (order by buffer_gets desc) buffer_gets_rank
   from v$sql)
where buffer_gets_rank<=5;
分享到:
评论

相关推荐

    oracle_V$SQLAREA_.rar_oracle_oracle V$sqlarea

    标题中的"oracle_V$SQLAREA_.rar_oracle_oracle V$sqlarea"暗示了这是一个关于`V$SQLAREA`视图的资源压缩包,可能包含了相关查询和解释的文本文件。 `V$SQLAREA`视图包含的数据涵盖了SQL语句的多个方面,如: 1. *...

    v$sqlarea top sql 查询举例

    根据提供的文件信息,本文将详细解释如何通过 `v$sqlarea` 视图查询实例中的 Top SQL,以便快速定位性能瓶颈或资源消耗高的 SQL 语句。以下内容将深入解析每种查询方法及其背后的原理。 ### 知识点一:通过 Buffer ...

    oracle消耗资源的sql查询语句记录

    V$SQLAREA视图提供了关于SQL语句执行计划的信息,包括磁盘读取次数、执行次数等重要指标。下面两个查询语句展示了如何利用该视图来找出消耗资源较多的SQL语句: - **查询磁盘读取次数较高的SQL语句:** ```sql ...

    Oracle的V$性能视图学习大全

    此外,V$视图家族中的V$SQLAREA、V$SQLTEXT、V$SESSION和V$SESS_IO等视图,可以用来查询和分析SQL语句的执行状态和性能。通过这些视图,DBA可以识别出执行时间长、占用资源多的SQL查询,进而对查询语句进行优化。 ...

    定位Oracle中的TOP_SQL

    可以通过 V$SQLAREA 视图来找到占用资源最多的 SQL。该视图提供了 SQL 语句的执行统计信息,可以根据 buffer_gets 和 disk_reads 字段来排序,找出占用资源最多的 SQL。 ### 方法二:通过 V$SQLSTATS 视图 在 10.2...

    SQL优化器相关知识 精品资料.pptx

    2. 减少资源占用:SQL优化器可以减少查询所需的资源,例如CPU、内存和磁盘空间。 3. 提高数据库可靠性:SQL优化器可以提高数据库的可靠性和稳定性。 EXPLAIN PLAN语句是SQL优化器提供的一种工具,用于显示执行计划...

    SQLA的使用__查找top的SQL语句

    通常,这样的教程会包含如何使用SQL的内置功能,例如`V$SESSION_LONGOPS`、`V$SQL`、`V$SQLAREA`视图,或者通过`DBA_HIST_SQLTEXT`等历史性能数据来分析SQL性能。 标签“源码 工具”提示我们可能会涉及一些底层的...

    常用Oracle监控数据库性能的SQL

    1. `V$SESSION`: 显示当前活跃会话的信息,包括会话ID、用户、等待事件等,可以帮助我们找出占用资源多或长时间阻塞的会话。 ```sql SELECT sid, serial#, username, osuser, status, machine, program FROM v$...

    SQL语句优化手册

    - **定位问题SQL语句**:通过监控工具,比如`v$sqlarea`视图,可以找到那些占用大量内存或磁盘I/O的SQL语句。例如,可以使用如下SQL语句来找出磁盘读取次数超过20000次的查询: ```sql SELECT disk_reads, sql_...

    宕机、高cpu、慢sql等问题辅助工具v0.1.pdf

    v$sqlarea vs WHERE vl.sql_id = vs.sql_id AND vl.username = '&lt;用户名&gt;' ORDER BY vl.elapsed_seconds DESC; ``` - **作用**: 查询执行时间较长的SQL语句及其相关信息。 ##### 7. PL/SQL中查锁表语句 - **...

    查询Oracle中正在执行和执行过的SQL语句

    可以通过查询`V$SESSION`和`V$SQL`来找出占用I/O资源较多的会话,如下: ```sql SELECT se.sid, se.serial#, pr.SPID, se.username, se.status, se.terminal, se.program -- 更多列可以根据需要添加 FROM ... ...

    oracle常用监控SQL语句集合

    通过`SELECT * FROM v$sgastat`可以查看SGA(System Global Area)的使用情况,而`SELECT * FROM v$pga_target_advice`则提供了PGA(Program Global Area)调整建议。 6. **进程监控**: `SELECT * FROM v$...

    le的SQL语句执行效率问题查找与解决方法

    V_$SQLAREA 视图提供了执行的详细信息,包括执行次数、读取磁盘次数、命令类型、优化方式、SQL 语句、占用 shared pool 的内存大小、读取缓冲区的次数等。 * 数据列EXECUTIONS:执行次数 * DISK_READS:读盘次数 ...

    Oracle查看逻辑读、物理读资源占用排行的SQL语句

    本文将详细讲解这两个概念以及如何通过SQL语句来查看Oracle数据库中逻辑读和物理读资源的占用排行。 首先,我们来理解一下逻辑读和物理读的概念: 1. **逻辑读**:逻辑读是指当Oracle执行一个SQL语句时,从数据...

    oracle数据库优化辅助SQL语句

    from v$session a, v$sqlarea c, dba_objects, v$datafile where a.blocking_session is not null and a.sql_hash_value = c.hash_value and ROW_WAIT_OBJ# = object_id and file# = ROW_WAIT_FILE#; ``` ...

    oracle常用性能监控SQL语句

    - **SQL**: `select * from sys.v_$sqlarea where disk_reads &gt; 100` - **用途**: 此SQL语句用于查看Oracle数据库中SQL执行时磁盘读取次数超过100次的所有SQL语句。 - **关键字段解释**: - `disk_reads`: 表示SQL...

    oracle数据库常用优化脚本

    1. SELECT osuser, a.username, cpu_time/executions/1000000 || 's', b.sql_text, machine FROM v$session a, v$sqlarea b where a.sql_address = b.address ORDER BY cpu_time/executions DESC; ``` **解释:** 该...

    Oracle中查看慢查询进度的脚本分享

    通过这两个脚本,DBA可以实时监控数据库中的慢查询,找出那些占用资源多、执行时间长的SQL,进一步进行SQL优化,比如调整索引、优化查询结构、限制返回数据量等,以提升数据库的性能。在日常数据库维护中,这种监控...

    Oracle9i常用动态性能表(视图)说明

    5. **V$SQLAREA**:存储了已解析的SQL语句信息,包括执行次数、缓冲区命中率等。这对于SQL优化至关重要。 6. **V$SYSSTAT**:系统统计信息,如执行的SQL语句数量、缓存的块数量等。这些统计可以帮助识别数据库的...

    Oracle回滚段使用查询代码详解

    在单机Oracle环境中,查询回滚段的执行进度可以通过以下SQL查询实现: ```sql SELECT /*+ rule */ s.sid, r.name rr, NVL(s.username, 'no transaction') us, s.osuser os, s.terminal te, t.used_urec rec, ...

Global site tag (gtag.js) - Google Analytics