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. Activity生命周期以及启动模式对生命周期的影响

    前天用户体验反馈的一个需求,要求每次进入应用都定位到首页;这个操作很明显不适合放在首页Activity(启动模式为SingleTask)的onResume中,如果对Activity的启动模式和生命周期 ...

  2. 算法笔记_093:蓝桥杯练习 Problem S4: Interesting Numbers 加强版(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 Problem Description We call a number interesting, if and only if: 1. Its d ...

  3. html 里面的 role 属性是什么意思

    role="button" role是什么意思? html 里面的 role 属性是什么意义和用途 使用role属性告诉辅助设备(如屏幕阅读器)这个元素所扮演的角色,属于WAI-A ...

  4. cpu时间 / cpu利用率计算

    CPU时间即反映CPU全速工作时完成该进程所花费的时间 cpu时间计算CPU TIME = (# of CPU Clock Cycles) x Clock Period     // “#” 表示消耗 ...

  5. SSH限制ip登陆

    linux限制IP访问ssh   在/etc/hosts.allow输入   (其中192.168.10.88是你要允许登陆ssh的ip,或者是一个网段192.168.10.0/24)   sshd: ...

  6. 阿里云web播放器

    原文地址:https://help.aliyun.com/document_detail/51991.html?spm=5176.doc61109.6.703.ZTCYoi 一.概念说明 1. pla ...

  7. AES + RSA + Hash 实现 C-S 安全交互

    概述 AES 由于其执行速度快,易于硬件实现,破解难度大等优势,被广泛用于数据的加密. 既然是对称加密,那如何保证秘钥的安全传输?很容易想到用 RSA 加密秘钥.由于只能用私钥解密,而私钥不需要交互双 ...

  8. 运行第一个.net core程序

    前置条件 ubuntu已安装.net core运行环境 分6步 mkdir netcore 创建一个项目文件夹 cd netcore   进入该文件夹 dotnet new  new命令 用于创建一个 ...

  9. mongod启动时候几个参数说明

    1.--storageEngine从3.0开始,新增了一个存储引擎WT.老版本的存储引擎被称作mmapv1 2.--oplogSizeOplog是复制的主要组成部分,位于local数据库中.在初始化复 ...

  10. 【软件project】——软工视频总结

    软件project是一门研究用project化方法构建和维护有效的.有用的和高质量的软件的学科.它涉及程序设计语言.数据库.软件开发工具.系统平台.标准.设计模式等方面. 软工,基本的六阶段:制定计划 ...