理解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