1.  --查看表锁    

SELECT * FROM SYS.V_$SQLAREA WHERE DISK_READS > 100;

2.  --监控事例的等待    

SELECT EVENT,

SUM(DECODE(WAIT_TIME, 0, 0, 1)) "Prev",

SUM(DECODE(WAIT_TIME, 0, 1, 0)) "Curr",

COUNT(*) "Tot"

FROM V$SESSION_WAIT

GROUP BY EVENT

ORDER BY 4;

3.  --回滚段的争用情况   

SELECT NAME, WAITS, GETS, WAITS / GETS "Ratio"

FROM V$ROLLSTAT A, V$ROLLNAME B

WHERE A.USN = B.USN;

4.  --查看前台正在发出的SQL语句  

SELECT USER_NAME, SQL_TEXT   

FROM V$OPEN_CURSOR   

WHERE SID IN (SELECT SID

FROM (SELECT SID, SERIAL#, USERNAME, PROGRAM   

FROM V$SESSION   

WHERE STATUS = 'ACTIVE'));

5.  --数据表占用空间大小情况   

SELECT SEGMENT_NAME, TABLESPACE_NAME, BYTES, BLOCKS

FROM USER_SEGMENTS

WHERE SEGMENT_TYPE = 'TABLE'

ORDER BY BYTES DESC, BLOCKS DESC;

6.  --查看表空间碎片大小   

SELECT TABLESPACE_NAME,

ROUND(SQRT(MAX(BLOCKS) / SUM(BLOCKS)) *

(100 / SQRT(SQRT(COUNT(BLOCKS)))),

2) FSFI

FROM DBA_FREE_SPACE

GROUP BY TABLESPACE_NAME

ORDER BY 1;

7.  --查看表空间占用磁盘情况   

SELECT B.FILE_ID 文件ID号,

B.TABLESPACE_NAME 表空间名,

B.BYTES 字节数,

(B.BYTES - SUM(NVL(A.BYTES, 0))) 已使用,

SUM(NVL(A.BYTES, 0)) 剩余空间,

SUM(NVL(A.BYTES, 0)) / (B.BYTES) * 100 剩余百分比

FROM DBA_FREE_SPACE A, DBA_DATA_FILES B

WHERE A.FILE_ID = B.FILE_ID

GROUP BY B.TABLESPACE_NAME, B.FILE_ID, B.BYTES

ORDER BY B.FILE_ID;

8.  --查看session使用回滚段  

SELECT R.NAME 回滚段名,

S.SID,

S.SERIAL#,

S.USERNAME 用户名,

T.STATUS,

T.CR_GET,

T.PHY_IO,

T.USED_UBLK,

T.NOUNDO,

SUBSTR(S.PROGRAM, 1, 78) 操作程序

FROM SYS.V_$SESSION S, SYS.V_$TRANSACTION T, SYS.V_$ROLLNAME R

WHERE T.ADDR = S.TADDR

AND T.XIDUSN = R.USN

ORDER BY T.CR_GET, T.PHY_IO;

9.  --查看SGA区剩余可用内存   

SELECT NAME,

      SGASIZE / 1024 / 1024        "Allocated(M)",

      BYTES / 1024            "**空间(K)",

      ROUND(BYTES / SGASIZE * 100, 2)    "**空间百分比(%)"   

FROM (SELECT SUM(BYTES) SGASIZE FROM SYS.V_$SGASTAT) S,

SYS.V_$SGASTAT F   

WHERE F.NAME = 'free memory';

10.  --监控表空间I/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;

11.  --监控SGA命中率 

SELECT A.VALUE + B.VALUE "logical_reads",

C.VALUE "phys_reads",

ROUND(100 * ((A.VALUE + B.VALUE) - C.VALUE) / (A.VALUE + B.VALUE)) "BUFFER HIT RATIO"

FROM V$SYSSTAT A, V$SYSSTAT B, V$SYSSTAT C

WHERE A.STATISTIC# = 38

AND B.STATISTIC# = 39

AND C.STATISTIC# = 40;

12.  --监控 SGA 中字典缓冲区的命中率 

SELECT PARAMETER,

GETS,

GETMISSES,

GETMISSES / (GETS + GETMISSES) * 100 "miss ratio",

(1 - (SUM(GETMISSES) / (SUM(GETS) + SUM(GETMISSES)))) * 100 "Hit ratio"

FROM V$ROWCACHE

WHERE GETS + GETMISSES <> 0

GROUP BY PARAMETER, GETS, GETMISSES;

13.  --监控 SGA **享缓存区的命中率,应该小于1% 

SELECT SUM(PINS) "Total Pins",

SUM(RELOADS) "Total Reloads",

SUM(RELOADS) / SUM(PINS) * 100 LIBCACHE

FROM V$LIBRARYCACHE;

14.  --监控 SGA 中重做日志缓存区的命中率,应该小于1%   

SELECT NAME,

GETS,

MISSES,

IMMEDIATE_GETS,

IMMEDIATE_MISSES,

DECODE(GETS, 0, 0, MISSES / GETS * 100) RATIO1,

DECODE(IMMEDIATE_GETS + IMMEDIATE_MISSES,

0,

0,

IMMEDIATE_MISSES / (IMMEDIATE_GETS + IMMEDIATE_MISSES) * 100) RATIO2

FROM V$LATCH

WHERE NAME IN ('redo allocation', 'redo copy');

15.  --监控内存和硬盘的排序比率,最好使它小于 .10 

SELECT NAME, VALUE

FROM V$SYSSTAT

WHERE NAME IN ('sorts (memory)', 'sorts (disk)');

16.  --监控字典缓冲区 

SELECT SUM(GETS) "DICTIONARY GETS",

SUM(GETMISSES) "DICTIONARY CACHE GET MISSES"

FROM V$ROWCACHE;

17.  --非系统用户建在SYSTEM表空间中的表   

SELECT OWNER, TABLE_NAME

FROM DBA_TABLES

WHERE TABLESPACE_NAME IN ('SYSTEM', 'USER_DATA')

AND OWNER NOT IN

('SYSTEM', 'SYS', 'OUTLN', 'ORDSYS', 'MDSYS', 'SCOTT', 'HOSTEAC');

18.  --性能最差的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 < 100;

--用下列SQL 工具找出低效SQL : 

SELECT EXECUTIONS,

DISK_READS,

BUFFER_GETS,

ROUND((BUFFER_GETS - DISK_READS) / BUFFER_GETS, 2) HIT_RADIO,

ROUND(DISK_READS / EXECUTIONS, 2) READS_PER_RUN,

SQL_TEXT

FROM V$SQLAREA

WHERE EXECUTIONS > 0

AND BUFFER_GETS > 0

AND (BUFFER_GETS - DISK_READS) / BUFFER_GETS < 0.8

ORDER BY 4 DESC;

19.  --读磁盘数超100次的sql   

SELECT * FROM SYS.V_$SQLAREA WHERE DISK_READS > 100;

20.  --最频繁执行的sql 

SELECT * FROM SYS.V_$SQLAREA WHERE EXECUTIONS > 100;

21.  --查询使用CPU多的用户session   

SELECT A.SID,

SPID,

STATUS,

SUBSTR(A.PROGRAM, 1, 40) PROG,

A.TERMINAL,

OSUSER,

VALUE / 60 / 100 VALUE

FROM V$SESSION A, V$PROCESS B, V$SESSTAT C

WHERE C.STATISTIC# = 12

AND C.SID = A.SID

AND A.PADDR = B.ADDR

ORDER BY VALUE DESC;

22.  --当前每个会话使用的对象数  

SELECT A.SID, S.TERMINAL, S.PROGRAM, COUNT(A.SID)

FROM V$ACCESS A, V$SESSION S

WHERE A.OWNER <> 'SYS'

AND S.SID = A.SID

GROUP BY A.SID, S.TERMINAL, S.PROGRAM

ORDER BY COUNT(A.SID);

Oracle 常用性能监控SQL语句的更多相关文章

  1. Oracle种常用性能监控SQL语句

    --Oracle常用性能监控SQL语句 --1 SELECT * FROM SYS.V_$SQLAREA WHERE DISK_READS > 100; --2 监控事例的等待 SELECT E ...

  2. ORACLE常用性能监控SQL【一】

    目录(?)[+] 系列 ORACLE常用性能监控SQL[一] ORACLE常用性能监控SQL[二] Oracle-动态性能视图解读 系列 死锁后的解决办法 生成Kill Session语句 查看导致死 ...

  3. ORACLE常用性能监控SQL(二)

    查询Oracle正在执行的sql语句及执行该语句的用户 SELECT b.sid oracleID, b.username 登录Oracle用户名, b.serial#, spid 操作系统ID, p ...

  4. ORACLE常用性能监控SQL

    Temp表空间上进程的查询 select a.tablespace, b.sid, b.serial#, a.blocks,c.sql_text from v$sort_usage a,v$sessi ...

  5. Oracle常用性能监控语句解析

    转:http://www.cnblogs.com/preftest/archive/2010/11/14/1876856.html 1.监控等待事件select event,sum(decode(wa ...

  6. oracle常用运维sql语句

    1.查询dblink语句 col owner for a20col db_link for a30col username for a20col host for a30set linesize 12 ...

  7. Oracle常用函数(SQL语句)

    使用sql函数,您可以在一个select语句的查询当中,直接计算数据库资料的平均值.总数.最小值.最大值.总和.标准差.变异数等统计.使用recordset对象时,也可使用这些sql函数. sql函数 ...

  8. Oracle 常用修改字段SQL语句

    1. 更新字段名称 alter table table_name rename column column_old to column_new; 2. 添加字段 ); 3. 删除字段 alter ta ...

  9. DBA 需要知道N种对数据库性能的监控SQL语句

    --DBA 需要知道N种对数据库性能的监控SQL语句 -- IO问题的SQL内部分析 下面的DMV查询可以来检查当前所有的等待累积值. Select wait_type, waiting_tasks_ ...

随机推荐

  1. 安装kubernetes dashboard

    一.kubernetes dashboard kubernetes dashboard是k8s的web管理界面 二.安装 k8s的版本为1.5 1.创建dashboard-controller.yam ...

  2. 如何查看LoadRunner虚拟用户(vuser)类型

    查看vuser类型LoadRunner提供了多种Vuser技术,通过这些技术可以在使用不同类型的客户端/服务器体系结构时生成服务器负载.每种Vuser技术都适合于特定体系结构并产生特定的Vuser类型 ...

  3. 五中不同的思路输出helloword

    五中不同的思路输出helloword -- 我也不知道了--

  4. vi语法高亮,自动缩进(转)

    编辑.vimrc 这样文件在其中加入如下两行就可以了,此法对#号提示符下的操作无效. let &termencoding=&encodingset fileencodings=utf- ...

  5. IBATIS+ORACLE(一)

      迁移时间:2017年6月1日15:55:17 Author:Marydon (四)IBATIS + ORACLE 第一部分:基础篇 1.4.1.1 分页SQL <!-- 开头 --> ...

  6. 【windows】使用键盘代替鼠标的快捷键

    键盘代替鼠标右键 使用上述键可以代替右键

  7. 【BIEE】MDS-01377:无法从使用 JNDI 名称 “jdbc/mds/owsm” 配置的数据源获取数据库连接

    这是一次意外关机情况,BIEE环境是window server2008,但是一次意外情况,BIEE自动关机了,造成开启成功新启动BIEE产生如下错误: 错误产生后,倒腾了半天,并没发现什么问题,只是通 ...

  8. RSA/DSA 密钥的工作原理

    下面从整体上粗略的介绍了 RSA/DSA 密钥的工作原理.让我们从一种假想的情形开始,假定我们想用 RSA 认证允许一台本地的 Linux 工作站(称作 localbox)打开 remotebox 上 ...

  9. Com与.Net互操作

    Com与.Net互操作 .Net调用Com组件主要分为两类:静态调用及动态调用.所谓静态调用:指通过tlbimp.exe命名产生Com组件在.Net环境下的包装类,然后通过这个包装类来访问Com组件. ...

  10. SuperMap iClient如何使用WMTS地图服务

    SuperMap iClient如何使用WMTS地图服务 什么是WMTS服务 WMTS,切片地图Web服务(Web Map Tile Service)当前版本是1.0.0.该服务符合 OGC(Open ...