Oracle IMU机制

IMU机制的意义:加块构造CR块的效率以及加块回滚效率,最关键的是减少了物理IO。

#要知道undo表空间与数据库其他表空间管理是一致的,都会被DBWR写回磁盘。

如果我们需要undo块构造一致性读时,但此时undo块已经被写回磁盘,如果此时Oracle再将undo块读入到buffer时,十分影响性能。

事务开始时在Shared pool中分配IMU buffer,将全部的回滚信息写入到IMU buffer,需要undo块时,直接读取IMU buffer。

IMU buffer的变化也会产生redo,也可以实例恢复,但是IMU buffer产生的redo不在redo buffer中产生,要知道buffer cache中产生redo的过程是,现在PGA中生成后映像,然后传到redo buffer中,有LGWR写入。
而IMU buffer产生的日志不是在PGA中产生,是在share pool中产生,Oracle会在share pool中分配 Private redo strands(redo buffer区)用于IMU buffer使用。

当IMU buffer快满时,也会被写回到buffer cache中的undo块中。

select * from v$sysstat where name like ‘%IMU%’
IMU COMMIT:
当commit时,IMU buffer往buffer cache中写, Private redo strands往redo buffer 中写。
IMU FLUSH :
当IMU BUFFER快满时,往buffer cache中写。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值