DataGuardGapDetectionandResolution(DocID232649.1)(一)

2014-11-24 11:00:34 · 作者: · 浏览: 3
Overview:
===============

An archive gap is a range of missing archived redo logs created whenever the 
standby system is unable to receive the next archived redo log generated by 
the primary database.  

For example, an archive gap occurs when the network becomes unavailable and 
automatic archiving from the primary database to the standby database stops. 
When the network is available again, automatic transmission of the redo data 
from the primary database to the failed standby database resumes. 

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 
Oracle
Net 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