ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 为什么我的归档文件比我设定的在线日志的大小要小?

为什么我的归档文件比我设定的在线日志的大小要小?

原创 Linux操作系统 作者:wei-xh 时间:2012-07-03 21:10:18 1 删除 编辑

为什么我的归档文件比我设定的在线日志的大小要小?有几种可能的原因:

1)  你用命令手工切换了

2)  你设定了archive_lag_target参数,导致定期触发的切换

3)  10G后,Oracle的新特性,private redo的出现。由于会话的事务日志是保留在private redo pool里的,这里面的日志只有在提交的时候才会写到public redo pool然后再写到log file里,想象这么一个场景:事务X修改了几条记录,但是迟迟没提交,事务X产生的日志是记录在private redo pool里的。当前日志组是组1,日志组1写满了后切换了,切换后,当前日志组是2,日志组2start scn1000,但是private redo pool里的日志的scn肯定是小于这个1000的,如果Oracle切换前,不把这些private redo刷新到日志组1,那么日志组2里就会出现scn小于当前日志组的start scn的情况。这个是不允许的。因此Oracle的工程师,必须要有一个机制保障,在做切换前,日志文件里有足够的空间能够容纳下public redo+private redo pool里面的日志,但是这2redo pool里面很可能是空的或者是不满的,日志量没有Oracle计算的大,这样就导致了,被归档后的文件总是没有我们设定的在线日志大。

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

请登录后发表评论 登录
全部评论
Oracle ACE组成员,DBGeeK用户组发起人。曾在DTCC、ORACLE技术嘉年华、Gdevops等公开场合做过数据库技术专题分享,2017年应Oracle邀请在世界最大的数据库会议OOW上做技术分享。组织翻译了《拨云见日,解密Oracle ASM内核》一书。

注册时间:2009-07-04

  • 博文量
    422
  • 访问量
    2306668