为什么一个实例只有一个LGWR .

有人问为什么只有一个LGWR进程呢?

在单实例中,确实只有一个LGWR进程,在RAC中,每个实例都有一个LGWR进程。

 

LGWR负责将redo log buffer中的数据写入redo log file.,即使你给日志group 分配了多个member,也只有一个LGWR去写入。

注意,多个日志成员他们的同时写入的,并且由一个LGWR同时写入。LGWR写的四个条件就不说了。

 

为什么一个实例只有一个LGWR呢? 为什么Oracle不允许我们像DBWn, ARChn一样可以设置多个LGWR呢?

首先你要搞清楚日志文件是连续的,顺序的,正是由于redo log file是有序的,所以不可能引入并行写入的特征。

假如你有多个LGWR,由于redo log file 是有序的 ,那么必然引入排队机制,引入了排队机制 就不是并行了。

所以一个实例只能有一个LGWR, 这是由log file 是 有序的 这个特征决定的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值