视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Dataguard的LogGap检测和处理原理
2020-11-09 11:56:19 责编:小采
文档


提到dataguard的Gap处理机制,大多数人能说出的措施便是设置fal_server和fal_client,从9i开始,Oracle提供了2种log gap的检测和处

提到dataguard的Gap处理机制,大多数人能说出的措施便是设置fal_server和fal_client,从9i开始,Oracle提供了2种log gap的检测和处理机制。对于gap的处理,fal_*参数在某些情况下并不是必须配置的。

1.Automatic Gap Resolution
2.FAL Gap Resolution

1.Automatic Gap Resolution

从9i开始,Dataguard就引入了自动日志缺失检测的机制,无需设置任何fal_*参数,Datguard便运行在这种机制下。
当Lgwr和Arch进程发送redo/archive到standby端的时候,当前log sequence会同standby端RFS进程上次接收到的log sequence做比较,如果发现二者有断档,,RFS会发送请求到primary端,要求主库传送缺失的日志。从9iR2开始,Automatic gap resolution 功能上得到增强。主库上的ARCH进程会每分钟检查备库上的日志gap情况并做相应处理。

2.FAL Gap Resolution

FAL是Fetch Archive Log的缩写,通过配置FALserver和FALclient实现Gap检测的一种机制。当备端的RFS进程收到
archivelog的时候,更新standby的控制文件以记录这些归档信息,一旦MRP发现控制文件被更新,会进行Recover/Apply log。如果MRP发现所需的日志出现缺失或者所需的日志文件不可用(损坏或者被物理移除等),会通过FAL来发送相应的处理请求。MRP是standby端的恢复进程,不像RFS进程一样与parimary有直接关联,通过FAL的参数配置来主动请求primary处理gap。

FAL_Server和fal_client是standby端的参数配置,考虑到switchover的平滑性,可考虑在primary 端也做预先设置。
FAL_SERVER: 指向primary端的Oracle Net service
FAL_CLIENTL: 指向standby端的Oracle Net service

在9iR2以上版本中,Oracle首先尝试使用FAL Gap Resolution 进行GAP处理,当发现FAL机制并没有配置生效的时候,
进而尝试使用Automatic Gap Resolution进行处理。

对于一些cascade dataguard架构,FAL Gap Resolution是更好的gap处理方式。另外,Automatic gap resolution
在某些版本的dg环境下存在bug(比如bug 59297等),需要不得不配置FAL参数。

下载本文
显示全文
专题