Performance Oracle数据库性能相关
我目前正在开发9.2.0.8 Oracle数据库。我有一些关于该数据库性能的问题 与重做日志、锁存和争用太相关。来自实际实践的答案将受到高度赞赏。请帮忙Performance Oracle数据库性能相关,performance,oracle,Performance,Oracle,我目前正在开发9.2.0.8 Oracle数据库。我有一些关于该数据库性能的问题 与重做日志、锁存和争用太相关。来自实际实践的答案将受到高度赞赏。请帮忙 我的数据当前有25个重做日志文件,每个文件中有2个成员。每个构件的尺寸为100米。 因此,是否值得保留25个重做日志文件,每个文件有2个成员(每个成员100MB) 我的数据库是24*7,最小用户数为275,最大用户数为650。我的数据库大部分都是SELECT,但非常有用 更少的插入/更新/删除。 从一个月开始,我就发现我的数据库平均生成17GB
对我来说,每分钟17GB的日志文件似乎相当高。可能您数据库中的某个表空间仍处于联机备份模式。17GB日志文件/分钟对我来说似乎相当高。数据库中的某个表空间可能仍处于联机备份模式。查看哪些会话正在生成大量重做,哪些会话在重做日志空间中等待时间最长,可能会有所帮助
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
查看哪些会话正在生成大量重做,哪些会话在重做日志空间等待的时间最长,可能会有所帮助
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
您提供的信息有些不符合要求—如果您真的生成了大约20G/min的归档日志,那么您将每分钟至少切换100M日志文件200次—而不是您提到的3次/分钟最坏情况。这也与您描述的“主要是选择”不一致
在现实世界中,我不会担心平均每5-10分钟就有一次日志切换。有了这么多的重做,没有一个init参数用于切换——这是因为在线重做日志已满。在这种情况下,控制切换速率的唯一方法是调整日志大小,例如,将日志大小增加一倍将使切换频率减少一半。您提供的信息有些不符合要求-如果您确实生成了大约20G/min的存档日志,然后,您将以每分钟至少200次的速度切换100M日志文件,而不是您提到的每分钟3次的最坏情况。这也与您描述的“主要是选择”不一致 在现实世界中,我不会担心平均每5-10分钟就有一次日志切换。有了这么多的重做,没有一个init参数用于切换——这是因为在线重做日志已满。在这种情况下,控制切换速率的唯一方法是调整日志大小,例如,将日志大小加倍将使切换频率降低一半