0206关于dg Gap Detection and Resolution

简介: [20170206]关于Data Guard Gap Detection and Resolution.txt --节前遇到的问题,发现实施方建立的dg有一些古怪.链接:http://www.

[20170206]关于Data Guard Gap Detection and Resolution.txt

--节前遇到的问题,发现实施方建立的dg有一些古怪.链接:http://www.itpub.net/thread-2082892-1-1.html
--参数fal_client,fal_server,log_archive_config没有设置.
--更觉得奇怪的是db_unique_name两边是一样的(注:实际上两边的环境变量ORACLE_SID是一样的,而缺省如果你不设置db_unique_name,默
--认应该等于ORACLE_SID).

--//我介入当时就是解决gap 间隙问题.
--//根据链接的讨论,zergduan给出的结论是:

1. auto gap resolution
通过主库和备库之间的进程心跳来完成传输gap日志,也通过心跳来检测gap

2. FAL
也就是11g之前 FAL client 和 FAL server两个参数,11g开始只有一个参数 FAL Server
通过扫描控制文件发现gap,通过FAL来解决gap

3. 手动解决
由dba来手动传输并注册gap的归档日志,或者通过增量备份前滚恢复解决gap.

--我也看一些文档,转抄如下:

Data Guard Gap Detection and Resolution [ID 232649.1]

Methods of Gap Resolution:
===========================

Data Guard provides two methods for gap resolution, automatic and FAL (Fetch Archive Log). The automatic method requires
no configuration while FAL requires configuration via init.ora parameters. Both methods are discussed below.

Automatic Gap Resolution:
~~~~~~~~~~~~~~~~~~~~~~~~~~~
In both 9.0.1 and 9.2.0 Automatic Gap Resolution is implemented during log transport processing. As the LGWR or ARCH
process begins to send redo over to the standby, the sequence number of the log being archived is compared to the last
sequence received by the RFS process on the standby. If the RFS process detects that the archive log being received is
greater than the last sequence received plus one, then the RFS will piggyback a request to the primary to send the
missing archive logs. Since the standby destination requesting the gap resolution is already defined by the
LOG_ARCHIVE_DEST_n parameter on the primary, the ARCH process on the primary sends the logs to the standby and notifies
the LGWR that the gaps have been resolved.

Starting in 9.2.0, automatic gap resolution has been enhanced. In addition to the above, the ARCH process on the primary
database polls all standby databases every minute to see if there is a gap in the sequence of archived redo logs. If a
gap is detected then the ARCH process sends the missing archived redo log files to the standby databases that reported
the gap. Once the gap is resolved, the LGWR process is notified that the site is up to date.

FAL Gap Resolution:
~~~~~~~~~~~~~~~~~~~~~~~~
As the RFS process on the standby receives an archived log, it updates the standby controlfile with the name and
location of the file. Once the MRP (Media Recovery Process) sees the update to the controlfile, it attempts to recover
that file. If the MRP process finds that the archived log is missing or is corrupt, FAL is called to resolve the gap or
obtain a new copy. Since MRP has no direct communications link with the primary, it must use the FAL_SERVER and
FAL_CLIENT initialization parameters to resolve the gap.  Both of these parameters must be set in the standby init.ora.
The two parameters are defined as:

FAL_SERVER:
An OracleNet service name that exist in the standby tnsnames.ora file that points to the primary database listener. The
FAL_SERVER parameter can contain a comma delimited list of locations that should be attempted during gap resolution.

FAL_CLIENT:
An OracleNet service name that exist in the primary tnsnames.ora file that points to the standby database listener. The
value of FAL_CLIENT should also be listed as the service in a remote archive destination pointing to the standby.

Once MRP needs to resolve a gap it uses the value from FAL_SERVER to call the primary database. Once communication with
the primary has been established, MRP passes the FAL_CLIENT value to the primary ARCH process. The primary ARCH process
locates the remote archive destination with the corresponding service name and ships the missing archived redo logs. If
the first destination listed in FAL_SERVER is unable to resolve the gap then the next destination is attempted until
either the gap is resolved or all FAL_SERVER destination have been tried.

As of 9.2.0 FAL Gap Resolution only works with Physical Standby databases as the process is tied to MRP. Gap recovery on
a logical standby database is handled through the heartbeat mechanism.

--//感觉有必要自己做一些测试,来验证一些结论.
--//具体测试看下篇...

目录
相关文章
|
SQL 缓存 Java
ASH Report 解析
ASH Report 解析
409 0
|
JSON 算法 开发工具
拒绝臃肿,一个文件搞定 C# 调用阿里云短信服务发送短信
短信发送是软件开发中的一个常见功能,在国内常用于基于短信验证码的用户注册、找回密码和操作授权等场景。阿里云的短信服务在调用时需要实现一个不是那么容易的签名算法,但如果只是为了发送短信这一个功能就去引用其提供的 SDK 显得非常不经济。
1623 1
|
XML 运维 JavaScript
winsw 是什么工具
【6月更文挑战第9天】winsw 是什么工具
1936 6
|
弹性计算 人工智能 安全
|
缓存 监控 Linux
深入了解Linux的`lscpu`命令:你的CPU信息专家
`lscpu`是Linux下的命令行工具,用于获取CPU详细信息,如架构、核心、线程、缓存和型号。它从系统文件读取数据,提供实时信息,支持多种输出格式,如扩展视图、解析格式。常用参数包括显示所有CPU (`-a`)、在线CPU (`-b`) 和可解析格式 (`--parseable`)。结合其他工具,`lscpu`在系统管理和性能调优中十分有用。
|
存储 关系型数据库 MySQL
深入探索MySQL的虚拟列:发展、原理与应用
深入探索MySQL的虚拟列:发展、原理与应用
|
域名解析 存储 缓存
服务发现与配置管理高可用最佳实践|学习笔记(一)
快速学习服务发现与配置管理高可用最佳实践
服务发现与配置管理高可用最佳实践|学习笔记(一)
|
数据采集 人工智能 搜索推荐
《多场景智能推荐方案及实操演示》|学习笔记
快速学习《多场景智能推荐方案及实操演示》
234 0
|
Linux 数据库
[20180109]使用vmstat监测性能的输出解析
[20180109]使用vmstat监测性能的输出解析.txt 在linux/unix下,常用vmstat作为系统性能监测工具。常用用法如下 # vmstat 1 100 --//我一般习惯使用-w参数,这样支持宽行显示.效果要好一些. # vmstat -w 1 100 --//表示以1秒为间隔,做相关参数的采样,一共100次。
1088 0

热门文章

最新文章