- 浏览: 96311 次
- 性别:
- 来自: 广西
文章分类
最新评论
-
李涤尘:
很好,很清晰的记录
Oracle 多表查询 -
yanxiaojia521:
项目部署成功后,使用localhost可以访问,在局域网内容访 ...
Linux系统下的项目部署 -
txlong_onz:
学好正则这些都不用记了。有的时候要灵活的。
文本框的输入限制
Oracle 常用性能监控SQL语句
- 博客分类:
- ORCLE
Oracle常用性能监控SQL语句 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学习笔记系列(15)使用扩展的 GROUP BY 子句(四)
2014-01-12 19:48 0ORACLE学习笔记系列(15)使用扩展的 GROUP BY ... -
ORACLE学习笔记系列(15)使用扩展的 GROUP BY 子句(三)
2014-01-12 19:46 0ORACLE学习笔记系列(15)使用扩展的 GROUP BY ... -
ORACLE学习笔记系列(15)使用扩展的 GROUP BY 子句(二)
2014-01-12 19:45 0ORACLE学习笔记系列(15)使用扩展的 GROUP BY ... -
ORACLE学习笔记系列(15)使用扩展的 GROUP BY 子句
2014-01-12 19:54 1316ORACLE学习笔记系列(15)使用扩展的 GROU ... -
ORACLE学习笔记系列(14)聚合函数
2014-01-12 19:30 1328ORACLE学习笔记系列(14)聚合函数 常用的聚合 ... -
ORACLE学习笔记系列(13)转换函数
2014-01-12 19:28 551ORACLE学习笔记系列(13)转换函数 转换函数 ... -
ORACLE学习笔记系列(12)数字函数
2014-01-12 19:26 457ORACLE学习笔记系列(12)数字函数 数字函数 ... -
ORACLE学习笔记系列(11)字符函数
2014-01-12 19:25 595ORACLE学习笔记系列(11)字符函数 字符函数 ... -
ORACLE学习笔记系列(10)正则表达式
2014-01-11 12:41 2234ORACLE学习笔记系列(10 ... -
ORACLE学习笔记系列(9)通配符和特殊字符
2014-01-05 22:28 2425ORACLE学习笔记系列(9 ... -
ORACLE学习笔记系列(8)ORACLE中的空值(NULL)和与空值(NULL)有关的函数
2014-01-05 15:02 1434ORACLE学习笔记系列(8)ORACLE中的空值(NU ... -
ORACLE学习笔记系列(7)SQL语言分类
2013-12-29 19:57 963SQL语言的五大组成部分DQL DML DDL DCL ... -
ORACLE学习笔记系列--目录
2013-12-29 19:14 685ORACLE学习笔记系列--目录 ORACL ... -
ORACLE学习笔记系列(6)Outer Join新旧语法对比分析
2013-12-18 21:55 1493从Oracle9i开始,支持ANSI/ISO ... -
ORACLE学习笔记系列(5)连接查询和联合查询
2013-12-15 16:54 1133连接查询和联合查询 一、连接查询 通过连接运 ... -
ORACLE学习笔记系列(4)ORACLE优化器
2013-12-15 15:19 850Oracle优化器介绍 1 ... -
ORACLE学习笔记系列(3)SQLPLUS里的清屏命令
2013-12-15 15:05 726SQLPLUS里的清屏命令 方法一:同时按S ... -
ORACLE学习笔记系列(2)解决 SQLPLUS分析SQL语句出现 'PLAN_TABLE' is old version
2013-12-15 14:59 1100解决 SQLPLUS分析SQL语句出现 'PLAN_TAB ... -
ORACLE学习笔记系列(1)如何使用SQLPLUS分析SQL语句
2013-12-15 14:49 1151如何使用SQLPLUS分析SQL语句 ... -
Oracle 多表查询
2012-05-17 11:41 1268Oracle 多表查询 1. SQL语句的执行顺序 SE ...
相关推荐
### Oracle常用性能监控SQL语句知识点详解 #### 1. 监控高磁盘读取的SQL区域 **SQL语句:** ```sql select * from sys.v_$sqlarea where disk_reads > 100; ``` - **知识点解读:** - `sys.v_$sqlarea` 视图提供了...
### Oracle常用性能监控SQL语句知识点详解 #### 一、SQL Area Disk Reads 监控 - **SQL**: `select * from sys.v_$sqlarea where disk_reads > 100` - **用途**: 此SQL语句用于查看Oracle数据库中SQL执行时磁盘读取...
在Oracle数据库管理中,了解和掌握一些常用的监控SQL语句是至关重要的,这些语句能够帮助DBA(数据库管理员)实时了解数据库的运行状态、性能瓶颈以及资源使用情况。"oracle常用监控SQL语句集合"提供了这样的工具集...
本文将介绍一些常用的Oracle性能监控SQL,用于监控当前会话执行的SQL及IO等信息。 一、监控SGA内存分配信息 Oracle数据库的SGA(System Global Area)是数据库的内存缓冲区,用于存储数据库的数据和索引。监控SGA...
本文将深入探讨如何利用压力测试工具来评估和优化Oracle数据库中的SQL语句性能。 标题"压测Oracle的SQL语句的性能情况"暗示了我们关注的是在高负载情况下,Oracle数据库处理SQL查询的能力。压力测试(Pressure ...
本资料集包含了Oracle性能监控的一些常用语句,旨在帮助用户更好地理解和优化数据库性能。以下是这些语句的主要类别及其详解: 1. **V$视图查询**: Oracle提供了大量的动态性能视图(V$视图),通过查询它们可以...
### Oracle 查看当前会话执行的SQL语句 在Oracle数据库管理中,有时我们需要了解某个特定会话(Session)正在执行哪些SQL语句。这在性能调优、问题诊断等场景下尤为重要。以下将详细介绍如何通过不同的方法来查看...
以下是一些重要的Oracle监控SQL语句及它们的应用场景。 1. **V$SESSION视图**: - `SELECT * FROM V$SESSION`:查看当前会话的信息,包括用户、主机、状态等,这对于定位并发问题或资源占用高的会话非常有用。 2....
Oracle数据库SQL语句跟踪器,通常被称为SQL Monitor,是一种强大的工具,用于监控和分析数据库中的SQL语句执行情况。在Oracle环境中,理解SQL语句的行为是优化数据库性能的关键。SQL Monitor提供实时视图,帮助DBA...
在Oracle数据库管理与维护过程中,有时候我们需要了解应用程序正在执行哪些SQL语句,这不仅有助于性能优化,还可以帮助我们诊断潜在的问题。通过监听执行SQL语句的方式,我们可以获取到当前会话正在执行的具体SQL...
通过上述查询和分析,数据库管理员可以有效地监控Oracle数据库的性能,找出低效的SQL语句,定位资源争抢和锁问题,从而进行性能调优,确保系统的稳定和高效运行。在实际操作中,还需要结合数据库设计、索引优化、SQL...
通过上述SQL语句,可以全面地监控和分析Oracle数据库的性能状况,及时发现问题并采取措施进行优化。这些监控语句覆盖了数据库运行过程中的多个方面,从等待事件到I/O活动,再到缓冲区和缓存的命中率,都是数据库管理...
根据提供的信息,我们可以总结出以下Oracle数据库中常用的SQL查询语句及它们的功能: ### 1. 查询表空间及其总大小 ...以上查询涵盖了Oracle数据库管理中常用的一些SQL语句,对于日常维护和性能调优非常有帮助。
在这个场景中,我们可以利用批处理文件来简化Oracle数据库的操作,如删除用户、创建用户、创建表和触发器,以及执行其他SQL语句。 首先,我们需要了解如何在批处理文件中连接Oracle数据库。这通常通过Oracle的...
进行Oracle数据库维护,掌握一些常用的SQL语句是必不可少的。本文将深入探讨Oracle数据库维护中的核心SQL语句,帮助你更好地管理和优化数据库。 1. **数据查询(SELECT语句)**:SELECT语句是SQL中最基本的语句,...
#### 监控SQL语句的方法 1. **使用V$SQLAREA视图** V$SQLAREA视图提供了关于SQL语句执行计划的信息,包括磁盘读取次数、执行次数等重要指标。下面两个查询语句展示了如何利用该视图来找出消耗资源较多的SQL语句:...
本文将深入探讨Oracle监控数据库性能的一些常用SQL语句,以及它们如何帮助我们理解数据库的工作状态。 首先,`V$视图`是Oracle提供的一种内置的性能数据源,通过查询这些视图,我们可以获取到丰富的性能信息。例如...
根据提供的文件内容,以下是对数据库性能监控使用SQL语句的知识点的详细解析: 数据库性能监控的重要性: 数据库是构建在信息技术系统上的核心组件,尤其在气象信息系统中,数据库的稳定性和性能直接影响着整个系统...
在Oracle数据库管理中,了解SQL语句的执行性能和频率对于系统优化至关重要。本文将详细介绍如何查看Oracle数据库中执行最慢和查询次数最多的SQL语句,以帮助DBA(数据库管理员)识别潜在的性能瓶颈。 首先,我们来...