日志缓冲区失败率

1. 查询LOG_BUFFER参数

 SQL> show parameter log_buffer

NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------------
log_buffer                           integer     2899456

2. 查询用户进程等待日志缓冲区的次数,通过数据字典v$sysstat :

SQL> select name,value
  2  from v$sysstat
  3  where name='redo buffer allocation retries';

NAME                                                                  VALUE
---------------------------------------------------------------- ----------
redo buffer allocation retries                                            0

3. 日志缓冲区过小,会增加日志写盘的次数,增加了系统的I/O负担.对于日志缓冲区而言,可以计算失败率.

使用数据字典v$LATCH计算日志缓冲区的失败率:

SQL> select name,gets,misses,immediate_gets,immediate_misses,
  2  Decode(gets,0,0,misses/gets*100) ratio1,
  3  Decode(immediate_gets+immediate_misses,0,0,
  4  immediate_misses/(immediate_gets+immediate_misses)*100) ratio2
  5  from v$latch
  6  where name in('redo allocation','redo copy');

NAME                                                     GETS     MISSES
-------------------------------------------------- ---------- ----------
IMMEDIATE_GETS IMMEDIATE_MISSES     RATIO1     RATIO2
-------------- ---------------- ---------- ----------
redo copy                                                  18          0
         89274               36          0 .040309036

redo allocation                                          4644          1
         89276                0 .021533161          0

其中,GETS表示成功等待日志缓冲区的次数.IMMEDIATE_GETS表示成功立即得到日志缓冲区的次数.IMMEDIATE_MISSES表示未成功立即得到日志缓冲区的次数.

等待表示日志在进入日志缓冲区时因为日志缓冲区过小而没有空闲空间,所以日志缓冲区的失败率表示了日志缓冲区是否足够大.不够大时,用户的日志写将产生等待过程.对于日志缓存区的失败率,应该小于1%.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值