知识大全 oracle数据库性能监控的SQL的几种情况
Posted 知
篇首语:关山初度尘未洗,策马扬鞭再奋蹄!本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 oracle数据库性能监控的SQL的几种情况相关的知识,希望对你有一定的参考价值。
oracle数据库性能监控的SQL的几种情况 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
监控事例的等待 select event sum(decode(wait_Time )) Prev sum(decode(wait_Time )) Curr count(*) Tot from v$session_Wait group by event order by ; 回滚段的争用情况 select name waits gets waits/gets Ratio from v$rollstat a v$rollname b where a usn = b usn; 监控表空间的 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; 监控文件系统的 I/O 比例 select substr(a file# ) # substr(a name ) Name a status a bytes b phyrds b phywrts from v$datafile a v$filestat b where a file# = b file#; 在某个用户下找所有的索引 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; 监控 SGA 的命中率 select a value + b value logical_reads c value phys_reads round( * ((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# = and b statistic# = and c statistic# = ; 监控 SGA 中字典缓冲区的命中率 select parameter gets Getmisses getmisses/(gets+getmisses)* miss ratio ( (sum(getmisses)/ (sum(gets)+sum(getmisses))))* Hit ratio from v$rowcache where gets+getmisses <> group by parameter gets getmisses; 监控 SGA 中共享缓存区的命中率 应该小于 % select sum(pins) Total Pins sum(reloads) Total Reloads sum(reloads)/sum(pins) * libcache from v$librarycache; select sum(pinhits reloads)/sum(pins) hit radio sum(reloads)/sum(pins) reload percent from v$librarycache; 显示所有数据库对象的类别和大小 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 ; 监控 SGA 中重做日志缓存区的命中率 应该小于 % SELECT name gets misses immediate_gets immediate_misses Decode(gets misses/gets* ) ratio Decode(immediate_gets+immediate_misses immediate_misses/(immediate_gets+immediate_misses)* ) ratio FROM v$latch WHERE name IN ( redo allocation redo copy ); 监控内存和硬盘的排序比率 最好使它小于 增加 sort_area_size SELECT name value FROM v$sysstat WHERE name IN ( sorts (memory) sorts (disk) ); 监控当前数据库谁在运行什么SQL语句 SELECT osuser username sql_text from v$session a v$sqltext b where a sql_address =b address order by address piece; 监控字典缓冲区 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; 后者除以前者 此比率小于 % 接近 %为好 SELECT SUM(GETS) DICTIONARY GETS SUM(GETMISSES) DICTIONARY CACHE GET MISSES FROM V$ROWCACHE 找ORACLE字符集 select * from sys props$ where name= NLS_CHARACTERSET ; 监控 MTS select busy/(busy+idle) shared servers busy from v$dispatcher; 此值大于 时 参数需加大 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时 参数需加大 碎片程度 select tablespace_name count(tablespace_name) from dba_free_space group by tablespace_name having count(tablespace_name)> ; 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); 表 索引的存储情况检查 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; 找使用CPU多的用户session 是cpu used by this session select a sid spid status substr(a program ) prog a terminal osuser value/ / value from v$session a v$process b v$sesstat c where c statistic#= and c sid=a sid and a paddr=b addr order by value desc; cha138/Article/program/Oracle/201311/18711相关参考
复杂应用环境监控ORACLE数据库性能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 前言:
JAVA进阶:提高SQL性能的几种方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 从INSE
监控事例的等待 selecteventsum(decode(wait_Time))Prev sum(decode(wait_Time))Currcount(*)Tot fromv$sessi
Oracle数据库SQL语句性能调整的基本原则 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 详
怎样保持Oracle数据库SQL性能的稳定性 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 有客
SQL数据库实现递归查询的几种代码方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! SQL数据
Oracle数据库诊断性能问题 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 使用扩展SQL跟踪
现在你可以通过字符串建立索引提高性能 许多PL/SQL程序对数据进行操作通常是通过使用SQL在数据库中直接操作数据你经常还需要在PL/SQL程序本身内声明和管理数据这个程序数据可能由一些单独的值
Oracle在基于Window操作系统的性能监控 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
SQL语句性能调整之性能调整综述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Oracle数据