ITPub博客

首页 > 数据库 > Oracle > 重做日志缓存(Redo Log Buffer)

重做日志缓存(Redo Log Buffer)

原创 Oracle 作者:sd_fiyo 时间:2015-10-26 21:23:07 0 删除 编辑

Redo Log Buffer 是 SGA 中一段保存数据库修改信息的缓存。这些信息被存 储在重做条目(Redo Entry) 中. 重做条目中包 含了由于 INSERT 、UPDATE 、 DELETE、CREATE、ALTER 或 DROP 所做的修改操作而需要对数据库重新组织 或重做的必须信息。在必要时,重做条目还可以用于数据库恢复。


重做条目是 Oracle 数据库进程从用户内存中拷贝到 Redo Log Buffer 中去的。 重做条目在内存中是连续相连的。后台进程 LGWR 负责将 Redo Log Buffer 中的 信息写入到磁盘上活动的重做日志文件(Redo Log File)或文件组中去的。


参数 LOG_BUFFER 决定了 Redo Log Buffer 的大小。它的默认值是 512K(一 般这个大小都是足够的),最大可以到 4G。10g 中可通过参数自动设置。当系统 中存在很多的大事务或者事务数量非常多时,可能会导致日志文件 IO 增加,降 低性能。这时就可以考虑增加 LOG_BUFFER。


但是,Redo Log Buffer 的实际大小并不是 LOB_BUFFER 的设定大小。为了 保护 Redo Log Buffer,oracle 为它增加了保护页(一般为 11K):


SQL> select * from v$sgastat where name = 'log_buffer';

POOL                 NAME              BYTES

------------ -------------------------- ----------

log_buffer         7135232

SQL> show parameter log_buffer

NAME                                       TYPE                VALUE

------------------------------------ ----------- ----------------

log_buffer                                 integer          7024640


SQL>


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29345367/viewspace-1816438/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 等待事件
请登录后发表评论 登录
全部评论

注册时间:2015-05-15

  • 博文量
    36
  • 访问量
    132205