--检查数据库的等待事件

from v$session_wait
where event not like 'SQL%' and event not like 'rdbms%'

--找出系统中耗时的操作
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中耗时的操作
select * from
  (select address,rank() over( order by buffer_gets desc) as rank_bufgets,
   to_char(100*ratio_to_report(buffer_gets) over(),'999.99') pct_bufgets
   from v$sql )
  where rank_bufgets <11;

-- 查看buffer中耗时的操作
select * from
  (select sql_text,rank() over( order by buffer_gets desc) as rank_bufgets,
   to_char(100*ratio_to_report(buffer_gets) over(),'999.99') pct_bufgets
   from v$sql )
  where rank_bufgets <11;

--查找前十条性能差的SQL
select * from (select parsing_user_id
executions,sorts,command_type,disk_reads,
sql_text from v$sqlarea order by disk_reads desc)
where rownum<10;

--等待时间最多的5和系统等待事件的获取
 select * from (select *
 from v$system_event where event not like 'sql%' order by
total_waits desc) where rownum<=5

--检查运行很久的SQL
column username format a12
column opname format a16
column progress format a8
SELECT USERNAME,SID,OPNAME,ROUND(SOFAR*100 / TOTALWORK,0) || '%' AS
PROGRESS,TIME_REMAINING,SQL_TEXT FROM V$SESSION_LONGOPS , V$SQL WHERE TIME_REMAINING <>
0 AND SQL_ADDRESS=ADDRESS AND SQL_HASH_VALUE = HASH_VALUE;

--检查消耗CPU最高的进程
SET LINE 240
SET VERIFY OFF
COLUMN SID FORMAT 999
COLUMN PID FORMAT 999
COLUMN S_# FORMAT 999
COLUMN USERNAME FORMAT A9 HEADING "ORA USER"
COLUMN PROGRAM FORMAT A29
COLUMN SQL FORMAT A60
COLUMN OSNAME FORMAT A9 HEADING "OS USER"
SELECT P.PID PID,S.SID SID,P.SPID SPID,S.USERNAME USERNAME,S.OSUSER OSNAME,P.SERIAL#
S_#,P.TERMINAL,P.PROGRAM PROGRAM,P.BACKGROUND,S.STATUS,RTRIM(SUBSTR(A.SQL_TEXT, 1, 80))
SQLFROM V$PROCESS P, V$SESSION S,V$SQLAREA A WHERE P.ADDR = S.PADDR AND S.SQL_ADDRESS
= A.ADDRESS (+) AND P.SPID LIKE '%&1%';

--检查碎片程度高的表
 select segment_name table_name,count(*)
extents from dba_segments where owner not in ('sys','system')
group by segment_name having count(*)=(select max(count(*))
from dba_segments group by segment_name) ;

--检查表空间的1/O比例
 select df.tablespace_name name,df.file_name "FILE",
F.phyrds pyr,f.phyblkrd pbr,f.phywrts pyw,f.phyblkwrt pbw from v$filestat f,
dba_data_files df
where f.file#=df.file_id order by df.tablespace_name;

select df.tablespace_name name,df.file_name "File"
from v$filestat f,dba_data_files df
where f.file#=df.file_id
order by tablespace_name

--检测文件系统的I/O比例

select substr(a.file#,1,2) "#",substr(a.name,1,30) "NAME",
a.status,a.bytes,b.phyrds,b.phywrts
from v$datafile a,
v$filestat b
where a.file# = b.file#

--检查死锁及处理
select sid,serial#,username,schemaname,osuser,machine,
terminal,program,owner,object_name,object_type,o.object_id
from dba_objects o,v$locked_object l,v$session s
where o.object_id=l.object_id and s.sid=l.session_id;

一些性能查询的SQL 备忘的更多相关文章

  1. DB&SQL备忘

    DB2最佳分页语句 SELECT * FROM ( SELECT inner2_.*, ROWNUMBER() OVER(ORDER BY ORDER OF inner2_) AS rownumber ...

  2. sql 备忘

    select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; select dbms_metadata.get_ddl('TABLE','TAB ...

  3. Sql 备忘——行号

    SELECT row_number() over(order by Product.ID) as [row_number]

  4. 2019-07-06 sql备忘 连续取最大

    连续最大: SELECT M.* FROM #temp MINNER JOIN (SELECT ISNULL(A.score,0)-b.score AS score,B.id FROM #temp A ...

  5. Mysql又一次整理笔记--woods备忘

    ==============================SQL备忘 CRUD 查询 多表 事件等=============================== ------------------ ...

  6. Visual Studio Entity Framework (EF) 生成SQL 代码 性能查询

    Visual Studio Entity Framework (EF) 生成SQL 代码 性能查询     SQL 中,有SQL Server Profiler可以用来查询性能以及查看外部调用的SQL ...

  7. SQL Server修改标识列方法(备忘)

    原文:SQL Server修改标识列方法(备忘) SQL Server修改标识列方法 ----允许对系统表进行更新 exec sp_configure 'allow updates',1 reconf ...

  8. 数据库查询性能 LinqDB vs Sql查询

    使用LinqDB查询Sqlite数据库数据,不管是大数据还是少量的数据,感觉特别耗时,尤其是首次查询 一个含有2.7万条数据的数据表 首次查询: 查询2.7万条数据,耗时1s 查询指定的1条数据,也要 ...

  9. SQL学习备忘

    1.按照拼音首字母的正序或倒序排序 SELECT CREATOR_REALNAME FROM tableName ORDER BY NLSSORT(CREATOR_REALNAME, 'NLS_SOR ...

随机推荐

  1. javascript定时器,取消定时器,及js定时器优化方法

    通常用的方法: 启动定时器: window.setInterval(Method,Time) Method是定时调用的js方法 Time是间隔时间,单位是毫秒 取消定时器: clearInterval ...

  2. 用webBrowser打开网页出现脚本错误怎么办

    当IE浏览器遇到脚本错误时,在浏览器左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框.我们在用webBrowser编写的程序打开网页,遇到脚本有问题是,会弹出一个错误 ...

  3. 【C#】VS2015开发环境的安装和配置(二)2016-08-03更新

    分类:C#.VS2015.WPF.ASP.NET MVC.Android.iOS.Unity3D: 更新日期:2016-08-03 按下面介绍的步骤安装即可. 一.安装JDK和Android SDK ...

  4. asp.net webapi 序列化为xml 时实体属性增加<![CDATA[]]>防止特殊字符

    有时webapi在序列化xml时,可能需要给某些带有html或特殊字符(如 < > & /)的字段加上<![CDATA[]]> 已防止影响xml正常数据,如果使用.as ...

  5. 【C#进阶系列】16 数组

    首先提一下,个人在项目中已经很少用到数组了,更多的时候使用List<>. 数组大小固定,如果只是用来存放数据,专门用来读取,更改当然方便.但是更多的时候我们需要进行增删改,这个时候用Lis ...

  6. MySQL Error Handling in Stored Procedures 2

    Summary: this tutorial shows you how to use MySQL handler to handle exceptions or errors encountered ...

  7. php PDO调用带有out参数的存储过程(原创)

    这几天比较闲学了下PHP, 开发工具zendphp,server下的一个集成工具WampServer. 感觉php实现一个功能写的代码比asp.net java都少,特别是数据库访问这块,如果是asp ...

  8. Git远程和分支管理

    一.远程       Git是分布式版本控制系统,最重要的优点就是远程仓库托管代码.不用自己搭建一个服务器,在github上面注册一个账户就可免费获取远程仓库.      首先需要先在github上面 ...

  9. rabbitMQ publish丢包分析

    rabbitMQ publish丢包分析

  10. 使用 WSO2 API Manager 管理 Rest API

    WSO2 API Manager 简介 随着软件工程的增多,越来越多的软件提供各种不同格式.不同定义的 Rest API 作为资源共享,而由于这些 API 资源的异构性,很难对其进行复用.WSO2 A ...