如果你是sql语言高手,以下的文章完全可以跳过。但如果你是新手再或者对查看Oracle性能的sql语句不熟悉,那可以好好看看下面有关查看Oracle性能的文章描述。
判断回滚段竞争的SQL语句:(当Ratio大于2时存在回滚段竞争,需要增加更多的回滚段) select rn.name, rs.GETS, rs.WAITS, (rs.WAITS / rs.GETS) * 100 ratio from v$rollstat rs, v$rollname rn where rs.USN = rn.usn
判断回滚段竞争的SQL语句:(当Ratio大于2时存在回滚段竞争,需要增加更多的回滚段) select rn.name, rs.GETS, rs.WAITS, (rs.WAITS / rs.GETS) * 100 ratio from v$rollstat rs, v$rollname rn where rs.USN = rn.usn
判断恢复日志竞争的SQL语句:(immediate_contention或wait_contention的值大于1时存在竞争) select name, (t.IMMEDIATE_MISSES / decode((t.IMMEDIATE_GETS + t.IMMEDIATE_MISSES), 0, -1, (t.IMMEDIATE_GETS + t.IMMEDIATE_MISSES))) * 100 immediate_contention, (t.MISSES / decode((t.GETS + t.MISSES), 0, -1, (t.GETS + t.MISSES))) * 100 wait_contention from v$latch t where name in (‘redo copy’, ‘redo allocation’)
判断表空间碎片:(如果最大空闲空间占总空间很大比例则可能不存在碎片,如果比例较小,且有许多空闲空间,则可能碎片很多) select t.tablespace_name, sum(t.bytes), max(t.bytes), count(*), max(t.bytes) / sum(t.bytes) radio from dba_free_space t group by t.tablespace_name order by t.tablespace_name
以上只是截取了部分查看Oracle性能的常用sql语句,希望对你日常Oracle性能的日常开发有所帮助。