数据库的性能

[复制链接]
查看11 | 回复6 | 2012-5-15 15:24:11 | 显示全部楼层 |阅读模式
发现数据库很慢,监控到如下信息:
SQL> select name,value from v$sysstat
2where name='free buffer inspected';
NAME
VALUE
---------------------------------------------------------------- ----------
free buffer inspected
5857145
SQL>
SQL> select event,total_waits
2from v$system_event
3where event in ('free buffer waits','buffer busy waits');
EVENT
TOTAL_WAITS
---------------------------------------------------------------- -----------
free buffer waits
2431
buffer busy waits
11813
但是db buffer的命中率还可以。
SQL> select 1-(phy.value/(cur.value+con.value))
2from v$sysstat cur,v$sysstat con,v$sysstat phy
3where cur.name='db block gets'
4and con.name='consistent gets'
5and phy.name='physical reads';
1-(PHY.VALUE/(CUR.VALUE+CON.VALUE))
-----------------------------------

.942779655
应该怎么办?
回复

使用道具 举报

千问 | 2012-5-15 15:24:11 | 显示全部楼层
搜索一下吧
回复

使用道具 举报

千问 | 2012-5-15 15:24:11 | 显示全部楼层
搜索什么?
回复

使用道具 举报

千问 | 2012-5-15 15:24:11 | 显示全部楼层
你查出来的信息,是从数据库启动以来的累计的量
跟应用、服务器等等都有关系
能说明什么呢?
什么都说明不了
回复

使用道具 举报

千问 | 2012-5-15 15:24:11 | 显示全部楼层
那如果我发现我的数据库突然变慢,应该怎么办?
回复

使用道具 举报

千问 | 2012-5-15 15:24:11 | 显示全部楼层
做个statspack
回复

使用道具 举报

千问 | 2012-5-15 15:24:11 | 显示全部楼层
buffer busy waits 可以找到对应的表加些free list
free buffer waits 就有写复杂了他的确和有free buffer inspected有关系
有两个内部参数可以调整不过我没有用过,所有没有经验可以告诉你
_DB_BLOCK_WRITE_BATCH
调大这个参数可以减少buffer busy waits
但是可能带来write complete wait
如果你发现变得糟糕的话请立即停止对他的调整

不过我觉得你还是做个彻底的分析
看看系统里面什么wait event最高
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行