Performance Oracle数据库性能相关

Performance Oracle数据库性能相关,performance,oracle,Performance,Oracle,我目前正在开发9.2.0.8 Oracle数据库。我有一些关于该数据库性能的问题 与重做日志、锁存和争用太相关。来自实际实践的答案将受到高度赞赏。请帮忙 我的数据当前有25个重做日志文件,每个文件中有2个成员。每个构件的尺寸为100米。 因此,是否值得保留25个重做日志文件,每个文件有2个成员(每个成员100MB) 我的数据库是24*7,最小用户数为275,最大用户数为650。我的数据库大部分都是SELECT,但非常有用 更少的插入/更新/删除。 从一个月开始,我就发现我的数据库平均生成17GB

我目前正在开发9.2.0.8 Oracle数据库。我有一些关于该数据库性能的问题 与重做日志、锁存和争用太相关。来自实际实践的答案将受到高度赞赏。请帮忙

  • 我的数据当前有25个重做日志文件,每个文件中有2个成员。每个构件的尺寸为100米。 因此,是否值得保留25个重做日志文件,每个文件有2个成员(每个成员100MB)
  • 我的数据库是24*7,最小用户数为275,最大用户数为650。我的数据库大部分都是SELECT,但非常有用 更少的插入/更新/删除。 从一个月开始,我就发现我的数据库平均生成17GB的档案 最小为28GB,最大为28GB。 但是日志切换平均每5-10分钟进行一次,有时更频繁。 甚至有时一分钟3次。 但是我的SPFILE说log\u checkpoint\u timeout=1800(30分钟)
  • 关于重做日志锁存和争用, 当我发出:-选择名称、值 来自v$sysstat 其中name='redo log space requests'; 输出:-

  • 其中Oracle建议重做日志空间请求接近于零
  • 所以我想知道为什么我的数据库经常进行日志切换。这是因为 数据或其他事物的结果
  • 我的疑问是,如果我增加重做日志缓冲区,问题可能会解决。我增加了重做日志缓冲区 从8MB到11MB。但我没发现有什么不同
  • 如果我将重做日志文件的大小从100MB增加到200MB,会有帮助吗。这能帮我减少开支吗 日志切换时间&使重做日志空间请求的值接近于零

  • 对我来说,每分钟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参数用于切换——这是因为在线重做日志已满。在这种情况下,控制切换速率的唯一方法是调整日志大小,例如,将日志大小加倍将使切换频率降低一半