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

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

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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22034023/viewspace-734500/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值