龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

查看Oracle性能常用的SQL语句

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
如果你是sql语言高手,以下的文章完全可以跳过。但如果你是新手再或者对查看Oracle性能的sql语句不熟悉,那可以好好看看下面有关查看Oracle性能的文章描述。 判断回滚段竞争的SQL语句

如果你是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性能的日常开发有所帮助。

  1. Oracle性能调整其实很easy
  2. 简单概述Oracle性能测试
  3. Oracle SQL语句优化的详细分析
  4. Oracle性能调整的要点中的操作系统的优化
  5. Oracle性能调整,提升block的效率
精彩图集

赞助商链接