Oracle性能监控常用基础脚本(二)

2014-11-24 17:58:58 · 作者: · 浏览: 1
",sum(getmisses) "dictionary cache get misses"


from v$rowcache


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


20. 监控 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 时,参数需加大


21. 碎片程度


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


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


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 owner='&owner'


group by segment_name;


23 、找使用 CPU 多的用户 session


12 是 cpu used by this session


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;