`

Oracle数据库性能监控 (转)

 
阅读更多

Oracle数据库性能监控  

2011-05-26 13:22:02|  分类: oracle |字号 订阅

 

1. 监控事例的等待

select event,sum(decode(wait_Time,0,0,1)) "rev",
sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot"
from v$session_Wait
group by event order by 4;

2. 回滚段的争用情况

select name, waits, gets, waits/gets "Ratio"
from v$rollstat a, v$rollname b
where a.usn = b.usn;

3. 监控表空间的 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;

4. 监控文件系统的 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#;

5.在某个用户下找所有的索引

select user_indexes.table_name, user_indexes.index_name,uniqueness, column_name
from user_ind_columns, user_indexes
where user_ind_columns.index_name = user_indexes.index_name
and user_ind_columns.table_name = user_indexes.table_name
order by user_indexes.table_type, user_indexes.table_name,
user_indexes.index_name, column_position;

6. 监控 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;

7. 监控 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;

8. 监控 SGA 中共享缓存区的命中率,应该小于1%

select sum(pins) "Total Pins", sum(reloads) "Total Reloads",
sum(reloads)/sum(pins) *100 libcache
from v$librarycache;

select sum(pinhits-reloads)/sum(pins) "hit radio",sum(reloads)/sum(pins) "reload percent"
from v$librarycache;

9. 显示所有数据库对象的类别和大小

select count(name) num_instances ,type ,sum(source_size) source_size ,
sum(parsed_size) parsed_size ,sum(code_size) code_size ,sum(error_size) error_size,
sum(source_size) +sum(parsed_size) +sum(code_size) +sum(error_size) size_required
from dba_object_size
group by type order by 2;

10. 监控 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');

11.  监控内存和硬盘的排序比率,最好使它小于 .10,增加 sort_area_size

SELECT name, value FROM v$sysstat WHERE name IN ('sorts (memory)', 'sorts (disk)');

12. 监控当前数据库谁在运行什么SQL语句

SELECT osuser, username, sql_text from v$session a, v$sqltext b
where a.sql_address =b.address order by address, piece;

13. 监控字典缓冲区

SELECT (SUM(PINS - RELOADS)) / SUM(PINS) "LIB CACHE" FROM V$LIBRARYCACHE;
SELECT (SUM(GETS - GETMISSES - USAGE - FIXED)) / SUM(GETS) "ROW CACHE" FROM V$ROWCACHE;
SELECT SUM(PINS) "EXECUTIONS", SUM(RELOADS) "CACHE MISSES WHILE EXECUTING" FROM V$LIBRARYCACHE;

后者除以前者,此比率小于1%,接近0%为好。

SELECT SUM(GETS) "DICTIONARY GETS",SUM(GETMISSES) "DICTIONARY CACHE GET MISSES"
FROM V$ROWCACHE

14. 找ORACLE字符集

select * from sys.props$ where name='NLS_CHARACTERSET';

15. 监控 MTS

select busy/(busy+idle) "shared servers busy" from v$dispatcher;

此值大于0.5时,参数需加大

select sum(wait)/sum(totalq) "dispatcher waits" from v$queue where type='dispatcher';
select count(*) from v$dispatcher;
select servers_highwater from v$mts;

servers_highwater接近mts_max_servers时,参数需加大

16. 碎片程度

select tablespace_name,count(tablespace_name) from dba_free_space group by tablespace_name
having count(tablespace_name)>;10;

alter tablespace name coalesce;
alter table name deallocate unused;

create or replace view ts_blocks_v as
select tablespace_name,block_id,bytes,blocks,'free space' segment_name from dba_free_space
union all
select tablespace_name,block_id,bytes,blocks,segment_name from dba_extents;

select * from ts_blocks_v;

select tablespace_name,sum(bytes),max(bytes),count(block_id) from dba_free_space
group by tablespace_name;

查看碎片程度高的表

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);

17. 表、索引的存储情况检查

select segment_name,sum(bytes),count(*) ext_quan from dba_extents where
tablespace_name='&tablespace_name' and segment_type='TABLE' group by tablespace_name,segment_name;

select segment_name,count(*) from dba_extents where segment_type='INDEX' and wner='&owner'
group by segment_name;

18、找使用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;监控数据库状态的目的就是找到相关的瓶颈点,但也许有时你的监控语句就会是你的瓶颈点,包括您后台的一些自动的监控。Jason就遇到这样的囧 事,不是dbconsole占资源(响应时间>2s)就是监控lock语句占资源,包括oracle的某些maintain功能,需要很好的时间 schedual。

分享到:
评论

相关推荐

    数据库性能监控数据库性能监控.ppt

    Oracle数据库性能监控的重要性在于它可以帮助数据库管理员和开发者快速地identify数据库性能瓶颈,进行优化和调整,以提高Oracle数据库的整体性能和可扩展性。 在本节中,我们将介绍 Oracle 数据库性能监控的相关...

    oracle数据库性能优化.pdf

    Oracle数据库性能优化是确保系统高效运行的关键环节,尤其是在大数据量和高并发的环境中。...对于大型企业来说,建立完善的数据库性能监控和调优体系,定期进行性能评估和调整,是保障信息系统稳定高效运行的基础。

    Oracle数据库性能优化 盖国强著

    综上所述,盖国强的《Oracle数据库性能优化》涵盖了从SQL优化、索引管理、架构设计到内存管理、资源调度、性能监控等多个方面,是一本全面了解和实践Oracle数据库性能优化的宝贵资源。通过深入学习和实践书中的内容...

    Oracle数据库性能优化实践指南

    《Oracle数据库性能优化实践指南》是一本专注于提升Oracle数据库运行效率的专业资料,旨在帮助数据库管理员和IT专业人士解决在日常工作中遇到的各种性能问题。通过深入理解Oracle数据库的工作原理和调优技术,读者...

    oracle10G数据库性能监控与优化详解

    Oracle 10G数据库性能监控与优化是数据库管理员在日常工作中必须掌握的关键技能。Oracle数据库的性能直接影响到应用程序的响应速度和整体系统效率。以下是一些核心知识点的详细解释: 1. **表空间使用率监控**: ...

    oracle数据库性能优化 合集 中文

    本合集包含了11个文档,全面涵盖了Oracle数据库性能优化的各种方面,旨在帮助IT专业人士提升数据库运行效率,降低系统瓶颈,确保业务连续性和用户体验。 1. **SQL优化**:SQL查询是数据库操作的核心,优化SQL语句...

    《Oracle数据库性能优化实践指南》PDF

    《Oracle数据库性能优化实践指南》是一本专注于Oracle数据库性能调优的专业书籍,旨在帮助读者深入理解和掌握如何在实际环境中提升Oracle数据库的运行效率。Oracle数据库是全球广泛使用的大型企业级数据库管理系统,...

    Oracle数据库性能优化.pdf

    Oracle数据库性能优化是确保数据库高效运行的关键环节,尤其是在处理大量数据和高并发访问的环境中。Oracle作为业界领先的数据库管理系统,其性能优化策略涵盖多个层面,包括系统配置、数据库设计、SQL语句优化、...

    oracle数据库性能调优和监控

    【Oracle数据库性能调优与监控】是数据库管理中至关重要的环节,主要目的是提高系统的吞吐量,缩短反应时间,从而提升整体性能。吞吐量衡量的是单位时间内数据库处理的SQL语句数量,而反应时间则关注用户等待结果的...

    Linux平台下监控Oracle数据库性能

    在单一的应用环境或业务相对简单的系统下, 系统性能问题, 瓶颈所在往往是不言自明, 解决问题的前提--定位问题是比较容易解决的, 但在一个...本文仅就此问题对Linux平台下各应用系统对Oracle数据库的使用情况作一探讨。

    Oracle 数据库性能优化与运维最佳实践

    "Oracle数据库性能优化与运维最佳实践"的主题涵盖了如何确保Oracle数据库高效、稳定运行的关键技术和策略。 首先,性能优化涉及多个层面,包括SQL查询优化、存储结构优化、索引设计以及数据库参数调整。SQL查询优化...

    基于Oracle数据库性能优化及监控研究.pdf

    本文主要探讨了Oracle数据库性能的评价指标,分析了影响性能的主要因素,并提出了优化和监控的方法。 首先,Oracle数据库性能的评价指标包括以下几个方面: 1. **数据库吞吐量**:衡量数据库在单位时间内处理SQL...

    OraGlance一个轻量级Oracle性能监控工具

    一键即运行的图形化Oracle数据库性能监控软件 无需安装、部署,不占用服务器资源 支持从Oracle 11.2.0.1开始的所有版本 支持Oracle RAC 非植入式,对Oracle只读,不在数据库内创建任何对象 资源占用极低,内存...

    Oracle数据库监控、性能检查小工具(OPCT)

    5.数据库使用 6.表空间使用情况 7.临时文件信息 8.临时文件使用情况 9.表死锁情况 10.锁表数量 11.长时间使用的SQL语句 12.事例的等待 13.回滚段的争用情况 14.表空间I/O比例 15.文件系统I/O比例 16.用户下所有索引 ...

    基于Oracle数据库优化性能监控系统的设计与实现.pdf

    综上所述,这个Oracle数据库性能监控系统的核心目标是通过实时监控、性能分析和优化建议,确保数据库的高效运行。它结合了Oracle数据库的特性、J2EE的分布式架构能力以及JFreeChart的可视化功能,提供了一个全面的...

    SolarWinds数据库性能分析器:监控Oracle数据库性能.docx

    SolarWinds数据库性能分析器:监控Oracle数据库性能.docx

    提升百倍效率-Oracle数据库性能

    本主题"提升百倍效率-Oracle数据库性能"聚焦于如何优化Oracle数据库,使其运行效率得到显著提升,从而满足业务需求并降低运营成本。 一、Oracle数据库性能优化基础 1. 数据库架构理解:了解Oracle数据库的物理结构...

    利用SQL语句实现数据库性能监控.pdf

    根据提供的文件内容,以下是对数据库性能监控使用SQL语句的知识点的详细解析: 数据库性能监控的重要性: 数据库是构建在信息技术系统上的核心组件,尤其在气象信息系统中,数据库的稳定性和性能直接影响着整个系统...

    oracle数据库监控

    首先,Oracle数据库监控涵盖多个层面,包括但不限于性能监控、空间监控、会话监控以及SQL语句监控等。 1. 性能监控:性能监控关注的是数据库的响应时间和吞吐量,通过监控CPU、内存、I/O和网络等方面来评估数据库的...

Global site tag (gtag.js) - Google Analytics