oracle四个重要的后台进程(DBWR / LGWR / ARCH / CKPT)

oracle体系结构图:


后台进程和恢复:检查点(DBWR)

DBWR进程是将DATA BUFFER中的数据写入,磁盘数据文件,在这个过程中,首先保证安全,所谓安全,就是在写过程中,一旦发生实例崩溃,要有一套完整的机制能够保证用户以及提交的数据不丢失,其次保证安全基础上,要尽可能的提高效率,众所周知,I/O操作是最昂贵的操作,所以应尽可能的将脏数据收集到一定程度以后在批量写入磁盘。

最直观,简单的方法就是,只要用户提交的时候将所改变的内存数据给DBWR,写入到数据文件,这样的话,一定能保证提交的数据不丢失,但是这种方式效率最低,在高并发环境中,频繁离散写效率最低,

因此oracle引入了LGWR 和 CKPT 这两个后台进程,这两个进程与DBWR进程相互合作,提供了既安全又高效的写脏数据的解决办法,

DBWR触发条件

1. 产生检查

2. 脏数据缓冲区达到阀值 默认 10%

3.扫描整个data buffer没有空闲

data buffer 中包含脏的和未脏的优先写脏数据列表 再写未脏块

4. timeout 超时,如果DBWR没事做 会被每三秒唤醒一次去巡检  写不写不一定

5. 表级别的truncate 或 drop 也会触发数据写

6. 修改表空间的 read only

7. 做表空间的offline (离线)

8. 热备份 begin backup 命令


后台进程和恢复:重做日志文件和LGWR

用户在修改日志内存数据块时都会在日志缓冲区中构造一个相应的重做条目(redo entry),该redo条目描述了被修改的数据块在修改之前和修改之后的值,而LGWR进程负责将这些redo条目写入到联机日志文件,只要redo条目写入了

  • 12
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值