日期:2014-05-16  浏览次数:20581 次

理解Data Guard(1)Data Guard 架构介绍
      RAC的强项在于解决单点故障和负载均衡,但RAC方案中数据只有一份,数据本身没有冗余,容易形成单点故障
      而Data Guard是通过冗余数据来提供数据保护,通过日志同步机制保证冗余数据和主数据之间的同步
      这种同步可以是实时、延时,同步或者异步
     
      ㈠ 日志发送
        
         主库的日志由LGWR或ARCn负责从主库发送到其他一个或多个归档目标
         不同的归档目标可以使用不同的方法,但是同一个目的地只能选用一种方法
         归档目标由log_archive_dest指定
         可以指定本地,也可以指向远端的Service Name
         最常见的启动数据库归档模式就是设置了一个本地归档路径
        
         ① 使用ARCn进程 (延时)
           
            缺省主库便是使用ARCn进程发送日志
           
            ⑴ 主库redo被LGWR写到online redo log
            ⑵ 当一组online redo log满,会发生log switch,触发本地归档       
            ⑶ ARCn进程通过Net把已经归档的日志发送给备库的RFS进程
            ⑷ RFS进程把接收到的日志写到归档日志
            ⑸ 备库的MRP进程或LSP进程应用日志以同步数据
           
            ARCn进程传递最大的问题是,主库只有在发生归档时才会发送日志到备库
            online redo log中的redo entries可能会丢失
           
         ② LGWR sync方式
        
            什么是sync?
           
            答:
               LGWR必须等待写入online redo log操作和通过LNSn进程的网络传送都成功
               主库的事务才能commit,这便是sync的含义所在
           
            ⑴ LGWR把redo entries写到online redo log的同时还要发送给本地的LNSn进程
               再由LNSn把日志通过Net发送给远端归档目标
               每个远程目的地对应一个LNS进程,多个LNS进程可以并行工作
              
            ⑵ 备库的RFS进程把接收到日志写入standby redo log
            ⑶ 主库的switch log也会触发备库对standby redo log的归档
               然后触发备库的MRP或LSP进程应用日志
            因为主库的redo是实时传送,于是备库可以使用两种方式恢复:
              * 实时恢复:直接从standby redo logs取
          &nb