• ORACLE重做日志小结


    1.Redo log特点


    • 重做日志以磁盘I/O为主,将数据库操作记录到日志文件。(磁盘I\O性能有可能成为瓶颈)
    • 每个实例只有一个活动的LGWR(log writer)进程,至少有两个日志组(logfile group),每个日志组至少一个 日志文件,同一日志组多个日志文件内容相同,互为镜像。
    • 当一个日志组写满时,LGWR自动切换至下一个日志组,覆盖日志文件内容,继续写入。(频繁的日志切换可能影响性 能)
    • 当切换到新的日志组时,如果DBWR(db writer)尚未将所有修改写入数据文件,LGWR将等待写入完成。(DBWR的 写入速度可能导致性能瓶颈)
    • 增大日志文件可以减少日志切换频率,但会增加数据恢复的时间,同时,当日志文件损坏时,将会丢失更多的数据。

    2.日志文件切换时间查询


    Select a.sequence#, b.sequence#, a.first_time, b.first_time,
    round((a.first_time-b.first_time)*60*60*24,2) timeInterval
    from v$log_history a
    left join v$log_history b
    on a.sequence#=b.sequence#+1 and a.thread#=b.thread#
    
    (Oracle建议日志文件切换时间为20分钟,调整日志文件大小以改变这一时间)
    

    3.Redo log优化


    • 同一日志组的日志文件分别放在不同的磁盘上,减少日志文件写入、日志切换时的竞争。
    • 适当增大日志文件可以降低日志切换频率和LGWR等待DBWR的几率。
    • 将日志文件放于RAID10或RAID0磁盘阵列中以提高写入性能。
    • 增加DBWR进程数,提高数据写入性能。

    4.创建、切换、删除日志文件组


    调整日志文件大小只能通过,创建新的日志文件组,切换日志文件组,删除旧的日志文件组的方式进行。

    创建日志文件组

    alter database add logfile group 4(‘D:\redo4.log’) size 1024M reuse;
    
    

    查看日志文件组状态切换日志文件组

    select group#, status from v$log;
    
    

    删除日志文件组(切换至INACTIVE状态再进行删除)

    alter database drop logfile group 1;
    
    
  • 相关阅读:
    Keras学习率调整
    机器学习算法的调试---梯度检验(Gradient Checking)
    Python 上下文管理器
    Python垃圾回收机制
    Css 动画的回调
    全新的membership框架Asp.net Identity——绕不过的Claims
    CSS代码重构与优化
    html5 本地存储
    ASP.NET MVC 随想录
    谈谈Angular关于$watch,$apply 以及 $digest的工作原理
  • 原文地址:https://www.cnblogs.com/wangnfhy/p/4956838.html
Copyright © 2020-2023  润新知