我目前正在研究9.2.0.8 Oracle数据库。我有一些与数据库性能相关的问题 与重做日志锁存器和放大器相关争。来自实际的答案将受到高度赞赏。请帮忙。
关于Redo log latches&争, 当我的时候: - 选择名字,价值 FROM v $ sysstat WHERE name ='redo log space requests'; 输出: -
NAME VALUE
-------------------------------------------------------------------- ----------
redo log space requests 20422
(This value is getting increased day by day)
答案 0 :(得分:1)
关于你提供的信息的一些内容并没有加起来 - 如果你真的产生了大约20G / min的存档日志,那么你将每分钟至少200次切换你的100M日志文件 - 而不是3次/分钟你提到的最糟糕的情况。这也与您对“...主要是SELECT”的描述不一致。
在现实世界中,我平均每5-10分钟就不会担心日志切换。有了这么多的重做,没有任何init参数可以用于切换 - 它正在发生,因为在线重做日志填满了。在这种情况下,控制切换速率的唯一方法是调整日志大小,例如,将对数大小加倍会使开关频率降低一半。
答案 1 :(得分:0)
每分钟17GB的日志文件对我来说似乎很高。也许数据库中的一个表空间仍处于在线备份模式。
答案 2 :(得分:0)
查看哪些会话正在生成大量重做以及哪些会话最多等待重做日志空间可能会有所帮助。
SQL> l
1 select name, sid, value
2 from v$sesstat s, v$statname n
3 where name in ('redo size','redo log space requests')
4 and n.statistic# = s.statistic#
5 and value > 0
6* order by 1,2