This chapter provides reference information for the attributes of the LOG_ARCHIVE_DEST_
n
initialization parameter, where n
is an integer between 1 and 31. The following list shows the attributes for the parameter:
ALTERNATE (not supported for LOG_ARCHIVE_DEST_11
through LOG_ARCHIVE_DEST_31
)
LOCATION and SERVICE (LOCATION
is not supported for LOG_ARCHIVE_DEST_11
through LOG_ARCHIVE_DEST_31)
MANDATORY (not supported for LOG_ARCHIVE_DEST_11
through LOG_ARCHIVE_DEST_31
)
SYNC and ASYNC (SYNC
is not supported for LOG_ARCHIVE_DEST_11
through LOG_ARCHIVE_DEST_31)
Each database in an Oracle Data Guard configuration will typically have one destination with the LOCATION
attribute for the archival of the online and standby redo logs and one destination with the REMOTE
attribute for every other database in the configuration.
If configured, each LOG_ARCHIVE_DEST_1
through LOG_ARCHIVE_DEST_10
destination must contain either a LOCATION
or SERVICE
attribute to specify a local disk directory or a remotely accessed database, respectively. Each LOG_ARCHIVE_DEST_11
through LOG_ARCHIVE_DEST_31
destination must contain a SERVICE attribute.
All other attributes are optional.
LOG_ARCHIVE_DEST_11
through LOG_ARCHIVE_DEST_31
cannot be specified as an ALTERNATE
redo transport location.
LOG_ARCHIVE_DEST_11
through LOG_ARCHIVE_DEST_31
can only be used when the COMPATIBLE
initialization parameter is set to 11.2.0.0 or later.
Note:
Several attributes of theLOG_ARCHIVE_DEST_
n
initialization parameter have been deprecated. These attributes are supported for backward compatibility only and are documented in the Oracle Database Reference.See Also:
Chapter 7 for more information about definingLOG_ARCHIVE_DEST_
n
destinations and setting up redo transport servicesControls whether a redo transport destination acknowledges received redo data before or after writing it to the standby redo log:
AFFIRM
—specifies that a redo transport destination acknowledges received redo data after writing it to the standby redo log.
NOAFFIRM
—specifies that a redo transport destination acknowledges received redo data before writing it to the standby redo log.
Category | AFFIRM | NOAFFIRM |
---|---|---|
Data type | Keyword | Keyword |
Valid values | Not applicable | Not applicable |
Default Value | Not applicable | Not applicable |
Requires attributes | SERVICE |
SERVICE |
Conflicts with attributes | NOAFFIRM |
AFFIRM |
Corresponds to | AFFIRM column of the V$ARCHIVE_DEST view |
AFFIRM column of the V$ARCHIVE_DEST view |
If neither the AFFIRM
nor the NOAFFIRM
attribute is specified, the default is AFFIRM
when the SYNC
attribute is specified and NOAFFIRM
when the ASYNC
attribute is specified.
Specification of the AFFIRM
attribute without the SYNC
attribute is deprecated and will not be supported in future releases.
See also:
SYNC and ASYNC attributesSpecifies an alternate archiving destination to be used when the original destination fails.
Category | ALTERNATE=LOG_ARCHIVE_DEST_n |
---|---|
Data Type | String |
Valid Value | A LOG_ARCHIVE_DEST_ n destination, where n is a value from 1 through 10. |
Default Value | None. If an alternate destination is not specified, then redo transport services do not automatically change to another destination. |
Requires attributes | NoneFoot 1 |
Conflicts with attributes | None Foot 2 |
Corresponds to | ALTERNATE and STATUS columns of the V$ARCHIVE_DEST view |
Footnote 1 Although it is not mandatory that MAX_FAILURE
be used with ALTERNATE
, a non-zero MAX_FAILURE
value is required for an alternate to become active. Using ALTERNATE
with the default value of MAX_FAILURE
(zero), does not result in any change in behavior.
Footnote 2 If the REOPEN
attribute is specified with a non-zero value, then an alternate is not activated until the number of failures is greater than or equal to the value of MAX_FAILURE
, with a minimum time period between attempts equal to the value of REOPEN
(in seconds).
The ALTERNATE
attribute is optional. If an alternate destination is not specified, then redo transport services do not automatically change to another destination if the original destination fails.
You can specify only one alternate destination for each LOG_ARCHIVE_DEST_
n
parameter.
Ideally, an alternate destination should specify one of the following:
A different disk location on the same local primary or standby database system (shown in Example 17-1 and in Example 17-2)
A different network route to the same standby database system (shown in Example 17-3)
The terminal standby database in a far sync or cascaded standby configuration (shown in Example 17-4 and Example 17-5)
A second far sync instance destination in a highly available far sync configuration (shown in Example 17-6)
To configure an alternate destination, set its LOG_ARCHIVE_DEST_STATE_
n
parameter to ALTERNATE
.
To enable an alternate destination, set its LOG_ARCHIVE_DEST_STATE_
n
parameter to ENABLE
.
If no enabled destinations reference an alternate destination, the alternate destination is implied to be deferred, because there is no automatic method of enabling the alternate destination. However, you can enable (or defer) alternate destinations at runtime using ALTER SYSTEM
.
Any destination can be designated as an alternate destination, given the following restrictions:
At least one local destination is enabled.
The number of enabled destinations must meet the defined LOG_ARCHIVE_MIN_SUCCEED_DEST
parameter value.
A destination cannot be its own alternate.
When a destination fails, its alternate destination is enabled on the next archival operation. There is no support for enabling the alternate destination in the middle of the archival operation because that would require rereading already processed blocks. This is identical to the REOPEN
attribute behavior.
If an alternate destination is not specified, or if MAX_FAILURE
is set to zero (the default), then redo transport services do not automatically change to another destination if the original destination fails.
The examples in this section are included to illustrate basic concepts and are not meant to be used exactly as shown. Depending on your configuration, there may be other parameters, such as DB_UNIQUE_NAME
, that are required.
Example 17-1 shows a sample initialization parameter file in which a local archiving destination LOG_ARCHIVE_DEST_1
automatically fails over to the alternate destination LOG_ARCHIVE_DEST_2
on the next archival operation if an error occurs, such as a write failure or an allocation failure if the device were to become full.
Example 17-1 Automatically Failing Over to an Alternate Local Destination
LOG_ARCHIVE_DEST_1='LOCATION=/disk1 MANDATORY MAX_FAILURE=1 ALTERNATE=LOG_ARCHIVE_DEST_2' LOG_ARCHIVE_DEST_STATE_1=ENABLE LOG_ARCHIVE_DEST_STATE_2=ALTERNATE LOG_ARCHIVE_DEST_2='LOCATION=/disk2 MANDATORY'
The MAX_FAILURE
attribute, which has a default of zero, must be set to a non-zero value or the destination will not fail over to the alternate destination when a problem is encountered.
To resume archiving to the original destination, LOG_ARCHIVE_DEST_1
, you must re-enable it manually. Then you must reset LOG_ARCHIVE_DEST_2
to its former alternate state to avoid having two active local archiving destinations. To do this, set the LOG_ARCHIVE_DEST_STATE_
n
parameters back to their original values, as follows:
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ALTERNATE
You can automate this fallback mechanism. Pair the original destination and the alternate destination by specifying an ALTERNATE
attribute that points back to the preferred destination, as shown in the sample initialization parameter file in Example 17-2.
Example 17-2 Automatic Local Alternate Fallback
LOG_ARCHIVE_DEST_1='LOCATION=/disk1 MANDATORY MAX_FAILURE=1 ALTERNATE=LOG_ARCHIVE_DEST_2' LOG_ARCHIVE_DEST_STATE_1=ENABLE LOG_ARCHIVE_DEST_STATE_2=ALTERNATE LOG_ARCHIVE_DEST_2='LOCATION=/disk2 MANDATORY ALTERNATE=LOG_ARCHIVE_DEST_1'
If LOG_ARCHIVE_DEST_1
becomes available again, then Oracle Data Guard automatically sets it to become the active local archiving destination and resets LOG_ARCHIVE_DEST_2
as its alternate.
If you have multiple network routes to a standby database, then you can use ALTERNATE
to reconfigure Oracle Data Guard to dynamically continue sending redo to a standby database that has lost its primary network link.
Example 17-3 shows how to define an alternate Oracle Net service name to the same standby database using 2 distinct paths.
Example 17-3 Defining an Alternate Oracle Net Service Name to the Same Standby Database
LOG_ARCHIVE_DEST_2='SERVICE=stby1_path1 MAX_FAILURE=1 ALTERNATE=LOG_ARCHIVE_DEST_3 DB_UNIQUE_NAME=stdby1' LOG_ARCHIVE_DEST_STATE_2=ENABLE LOG_ARCHIVE_DEST_STATE_3=ALTERNATE LOG_ARCHIVE_DEST_3='SERVICE=stby1_path2 DB_UNIQUE_NAME=stdby1'
With redundant network links that automatically failover when one link is down, you do not need to configure this kind of alternate destination.
Note:
An alternate in this form will not keep the primary up in maximum protection mode if this is the last synchronous standby destination because this only occurs on log switch. See Chapter 6 for more information on protection modes.Alternate destinations can also be used in far sync and cascaded standby configurations, as shown in Example 17-4 and Example 17-5.
Example 17-4 Automatically Failing Over to an Alternate Remote Destination
Just as you can with local archiving destinations, in far sync or cascaded configurations you can set up redo transport to automatically fail over to ship redo directly to the terminal standby if the first destination is no longer reachable. An example initialization parameter file would be as follows:
Far Sync
LOG_ARCHIVE_DEST_2='SERVICE=far_sync MAX_FAILURE=1 SYNC AFFIRM ALTERNATE=LOG_ARCHIVE_DEST_3 DB_UNIQUE_NAME=far_sync' LOG_ARCHIVE_DEST_STATE_2=ENABLE LOG_ARCHIVE_DEST_STATE_3=ALTERNATE LOG_ARCHIVE_DEST_3='SERVICE=terminal_standby ASYNC NOAFFIRM DB_UNIQUE_NAME=terminal_standby'
Cascaded Standby
LOG_ARCHIVE_DEST_2='SERVICE=stdby1 MAX_FAILURE=1 ALTERNATE=LOG_ARCHIVE_DEST_3 DB_UNIQUE_NAME=stdby1' LOG_ARCHIVE_DEST_STATE_2=ENABLE LOG_ARCHIVE_DEST_STATE_3=ALTERNATE LOG_ARCHIVE_DEST_3='SERVICE=terminal_standby DB_UNIQUE_NAME=terminal_standby'
These examples show setups in which either the far sync instance, far_sync,
is forwarding redo to the terminal_standby
, or the cascading standby stdby1
is cascading redo to its terminal_standby
.
As with local alternate destinations, to resume shipping redo to the original remote destination, LOG_ARCHIVE_DEST_2
, you must manually re-enable LOG_ARCHIVE_DEST_2
and then reset LOG_ARCHIVE_DEST_3
to its former alternate state. To do this, set the LOG_ARCHIVE_DEST_STATE_
n
parameters to their original values, as follows:
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_3=ALTERNATE
Example 17-5 Automatic Remote Alternate Fallback
In the same manner as local archiving alternates, you can pair your preferred destination with its alternate to enable automatic fallback to the original destination.
Far Sync
LOG_ARCHIVE_DEST_2='SERVICE=far_sync MAX_FAILURE=1 SYNC AFFIRM ALTERNATE=LOG_ARCHIVE_DEST_3 DB_UNIQUE_NAME=far_sync' LOG_ARCHIVE_DEST_STATE_2=ENABLE LOG_ARCHIVE_DEST_STATE_3=ALTERNATE LOG_ARCHIVE_DEST_3='SERVICE=terminal_standby ASYNC NOAFFIRM ALTERNATE=LOG_ARCHIVE_DEST_2 DB_UNIQUE_NAME=terminal_standby'
Cascaded Standby
LOG_ARCHIVE_DEST_2='SERVICE=stdby1 MAX_FAILURE=1 ALTERNATE=LOG_ARCHIVE_DEST_3 DB_UNIQUE_NAME=stdby1' LOG_ARCHIVE_DEST_STATE_2=ENABLE LOG_ARCHIVE_DEST_STATE_3=ALTERNATE LOG_ARCHIVE_DEST_3='SERVICE=terminal_standby ALTERNATE=LOG_ARCHIVE_DEST_2 DB_UNIQUE_NAME=terminal_standby'
In the remote destination case, the fallback will only occur when Oracle Data Guard has determined that the original destination (LOG_ARCHIVE_DEST_2
in these examples), is resynchronized and ready to take on its former role while maintaining the appropriate protection level. This means that for a period of time, Oracle Data Guard sends redo to both destinations.
In a far sync configuration, resynchronization is considered complete when the far sync instance has enough of the current redo to ensure that the terminal standby can become the primary database in the event of a failover, without losing any current redo.
In a cascading standby configuration, resynchronization is considered complete when the cascading standby database has resolved all gaps and is receiving the current redo stream from all primary instances.
Example 17-6 Highly Available Dual Far Sync
In this example the primary ships redo synchronously to one of two far sync instances, which in turn forwards the redo to one or more terminal standbys. If the first far sync instance fails, then the primary will automatically switch to the second far sync instance which will then forward to the same set of terminal standbys.
LOG_ARCHIVE_DEST_2='SERVICE=far_sync1 MAX_FAILURE=1 SYNC AFFIRM ALTERNATE=LOG_ARCHIVE_DEST_3 DB_UNIQUE_NAME=far_sync1' LOG_ARCHIVE_DEST_STATE_2=ENABLE LOG_ARCHIVE_DEST_STATE_3=ALTERNATE LOG_ARCHIVE_DEST_3='SERVICE=far_sync2 SYNC AFFIRM ALTERNATE=LOG_ARCHIVE_DEST_2 DB_UNIQUE_NAME=far_sync2'
The COMPRESSION
attribute is used to specify whether redo data is compressed before transmission to a redo transport destination.
Note:
Redo transport compression is a feature of the Oracle Advanced Compression option. You must purchase a license for this option before using the redo transport compression feature.Category | COMPRESSION=ENABLE or DISABLE |
---|---|
Data Type | Boolean |
Valid values | ENABLE or DISABLE |
Default value | DISABLE |
Requires attributes | None |
Conflicts with attributes | None |
Corresponds to | COMPRESSION column of the V$ARCHIVE_DEST view |
The COMPRESSION
attribute is optional. If it is not specified, the default compression behavior is DISABLE
.
For Oracle Data Guard SYNC
connection strings that also use the Oracle Data Guard COMPRESSION
attribute, the SQLNET.COMPRESSION
configuration parameter should be disabled (set to off) in the sqlnet.ora
file. See Oracle Database Net Services Reference for more information about the SQLNET.COMPRESSION
parameter.
Specifies a unique name for the database at this destination.
Category | DB_UNIQUE_NAME=name |
---|---|
Data Type | String |
Valid values | The name must match the value that was defined for this database with the DB_UNIQUE_NAME parameter. |
Default value | None |
Requires attributes | None |
Conflicts with attributes | None |
Corresponds to | DB_UNIQUE_NAME column of the V$ARCHIVE_DEST view |
This attribute is optional if:
This attributes is required if the LOG_ARCHIVE_CONFIG=DG_CONFIG
initialization parameter is specified and if this is a remote destination (specified with the SERVICE
attribute).
Use the DB_UNIQUE_NAME
attribute to clearly identify the relationship between a primary and standby databases. This attribute is particularly helpful if there are multiple standby databases in the Oracle Data Guard configuration.
The name specified by the DB_UNIQUE_NAME
must match one of the DB_UNIQUE_NAME
values in the DG_CONFIG
list. Redo transport services validate that the DB_UNIQUE_NAME
attribute of the database at the specified destination matches the DB_UNIQUE_NAME
attribute or the connection to that destination is refused.
The name specified by the DB_UNIQUE_NAME
attribute must match the name specified by the DB_UNIQUE_NAME
initialization parameter of the database identified by the destination.
In the following example, the DB_UNIQUE_NAME
parameter specifies boston
(DB_UNIQUE_NAME=boston
), which is also specified with the DB_UNIQUE_NAME
attribute on the LOG_ARCHIVE_DEST_1
parameter. The DB_UNIQUE_NAME
attribute on the LOG_ARCHIVE_DEST_2
parameter specifies the chicago
destination. Both boston
and chicago
are listed in the LOG_ARCHIVE_CONFIG=DG_CONFIG
parameter.
DB_UNIQUE_NAME=boston LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston,denver)' LOG_ARCHIVE_DEST_1='LOCATION=/arch1/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=boston' LOG_ARCHIVE_DEST_2='SERVICE=Sales_DR VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=chicago'
Specifies a minimum time lag between when redo data from the primary site is archived on a standby site and when the archived redo log file is applied to the standby database or any standbys cascaded from it.
Category | DELAY[=minutes] |
---|---|
Data Type | Numeric |
Valid values | >=0 minutes |
Default Value | 30 minutes |
Requires attributes | SERVICE |
Conflicts with attributes | LOCATION , VALID_FOR=(*,STANDBY_ROLE) |
Corresponds to | DELAY_MINS and DESTINATION columns of the V$ARCHIVE_DEST view |
The DELAY
attribute is optional. By default there is no delay.
The DELAY
attribute indicates the archived redo log files at the standby destination are not available for recovery until the specified time interval has expired. The time interval is expressed in minutes, and it starts when the redo data is successfully transmitted to, and archived at, the standby site.
The DELAY
attribute may be used to protect a standby database from corrupted or erroneous primary data. However, there is a tradeoff because during failover it takes more time to apply all of the redo up to the point of corruption.
The DELAY
attribute does not affect the transmittal of redo data to a standby destination.
If you have real-time apply enabled, any delay that you set will be ignored.
Changes to the DELAY
attribute take effect the next time redo data is archived (after a log switch). In-progress archiving is not affected.
You can override the specified delay interval at the standby site, as follows:
For a physical standby database:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE NODELAY;
For a logical standby database:
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY NODELAY;
The DELAY
value that a cascaded standby uses is the value that was set for the LOG_ARCHIVE_DEST_
n
parameter on the primary that shipped the redo to the cascading standby.
See Also:
Oracle Database SQL Language Reference for more information about theseALTER DATABASE
statementsYou can use the DELAY
attribute to set up a configuration where multiple standby databases are maintained in varying degrees of synchronization with the primary database. However, this protection incurs some overhead during failover, because it takes Redo Apply more time to apply all the redo up to the corruption point.
For example, assume primary database A has standby databases B and C. Standby database B is set up as the disaster recovery database and therefore has no time lag. Standby database C is set up with a 2-hour delay, which is enough time to allow user errors to be discovered before they are propagated to the standby database.
The following example shows how to specify the DELAY
attribute for this configuration:
LOG_ARCHIVE_DEST_1='LOCATION=/arch/dest MANDATORY' LOG_ARCHIVE_DEST_STATE_1=ENABLE LOG_ARCHIVE_DEST_2='SERVICE=stbyB SYNC AFFIRM' LOG_ARCHIVE_DEST_STATE_2=ENABLE LOG_ARCHIVE_DEST_3='SERVICE=stbyC DELAY=120' LOG_ARCHIVE_DEST_STATE_3=ENABLE
Note:
Alternatively, you can use Flashback Database to revert the database to a point-in-time or SCN in a different database incarnation as long as there is sufficient flashback log data. Using Flashback Database is described in Oracle Database Backup and Recovery User's Guide.The ENCRYPTION
attribute is used to specify whether redo data is encrypted before transmission to a Zero Data Loss Recovery Appliance (Recovery Appliance).
Note:
Redo transport encryption is allowed only for connections to a Recovery Appliance. Attempting to configure encryption on a LAD other than a Recovery Appliance will result in an error.Category | ENCRYPTION=ENABLE or DISABLE |
---|---|
Data type | Boolean |
Valid values | ENABLE or DISABLE |
Default value | DISABLE |
Requires attributes | SERVICE |
Conflicts with attributes | COMPRESSION , SYNC , LOCATION , and MAX_CONNECTIONS |
Corresponds to | ENCRYPTION column of the V$ARCHIVE_DEST view |
The ENCRYPTION
attribute is optional. If it is not specified, then the default encryption behavior is DISABLE
.
To use the ENCRYPTION
attribute, you must set the COMPATIBLE
initialization parameter to 12.1.0.2 or higher on the protected database.
Each destination must specify either the LOCATION
or the SERVICE
attribute to identify either a local disk directory or a remote database destination where redo transport services can transmit redo data.
LOG_ARCHIVE_DEST_1
through LOG_ARCHIVE_DEST_10
destinations can contain either a LOCATION
attribute or a SERVICE
attribute.
LOG_ARCHIVE_DEST_11
through LOG_ARCHIVE_DEST_31
destinations can only contain a SERVICE
attribute.
Category | LOCATION=local_disk_directory or USE_DB_RECOVERY_FILE_DEST |
SERVICE=net_service_name |
---|---|---|
Data type | String value | String value |
Valid values | Not applicable | Not applicable |
Default Value | None | None |
Requires attributes | Not applicable | Not applicable |
Conflicts with attributes | SERVICE , DELAY , NOREGISTER , SYNC , ASYNC , NET_TIMEOUT, AFFIRM,NOAFFIRM , COMPRESSION , MAX_CONNECTIONS |
LOCATION |
Corresponds to | DESTINATION and TARGET columns of the V$ARCHIVE_DEST view |
DESTINATION and TARGET columns of the V$ARCHIVE_DEST view |
Either the LOCATION
or the SERVICE
attribute must be specified. There is no default.
The LOG_ARCHIVE_DEST_11
through LOG_ARCHIVE_DEST_31
parameters do not support the LOCATION
attribute.
If you are specifying multiple attributes, specify the LOCATION
or SERVICE
attribute first in the list of attributes.
You must specify at least one local disk directory with the LOCATION
attribute. This ensures that local archived redo log files are accessible should media recovery of a database be necessary. You can specify up to thirty additional local or remote destinations.
For the LOCATION
attribute, you can specify one of the following:
LOCATION=
local_disk_directory
This specifies a unique directory path name for a disk directory on the system that hosts the database. This is the local destination for archived redo log files.
LOCATION=USE_DB_RECOVERY_FILE_DEST
To configure a fast recovery area, specify the directory or Oracle Storage Manager disk group that will serve as the fast recovery area using the DB_RECOVERY_FILE_DEST
initialization parameter.
When you specify a SERVICE
attribute:
You identify remote destinations by specifying the SERVICE
attribute with a valid Oracle Net service name (SERVICE=
net_service_name) that identifies the remote Oracle database instance to which the redo data will be sent.
The Oracle Net service name that you specify with the SERVICE
attribute is translated into a connection descriptor that contains the information necessary for connecting to the remote database.
See Also:
Oracle Database Net Services Administrator's Guide for details about setting up Oracle Net service namesTransmitting redo data to a remote destination requires a network connection and an Oracle database instance associated with the remote destination to receive the incoming redo data.
To verify the current settings for LOCATION
and SERVICE
attributes, query the V$ARCHIVE_DEST
fixed view:
The TARGET
column identifies if the destination is local or remote to the primary database.
The DESTINATION
column identifies the values that were specified for a destination. For example, the destination parameter value specifies the Oracle Net service name identifying the remote Oracle instance where the archived redo log files are located.
Specifies that filled online log files must be successfully archived to the destination before they can be reused.
Category | MANDATORY |
---|---|
Data type | Keyword |
Valid values | Not applicable |
Default value | Not applicable |
Requires attributes | Not applicable |
Conflicts with attributes | Optional |
Corresponds to | BINDING column of the V$ARCHIVE_DEST view |
The LOG_ARCHIVE_DEST_11
through LOG_ARCHIVE_DEST_31
parameters do not support the MANDATORY
attribute.
If MANDATORY
is not specified, then, by default, the destination is considered to be optional.
At least one destination must succeed, even if all destinations are optional. If archiving to an optional destination fails, the online redo log file is still available for reuse and may be overwritten eventually. However, if the archival operation of a mandatory destination fails, online redo log files cannot be overwritten.
The LOG_ARCHIVE_MIN_SUCCEED_DEST=
n parameter (where n is an integer from 1 to 10) specifies the number of destinations that must archive successfully before online redo log files can be overwritten.
All MANDATORY
destinations and optional local destinations contribute to satisfying the LOG_ARCHIVE_MIN_SUCCEED_DEST=
n count. If the value set for the LOG_ARCHIVE_MIN_SUCCEED_DEST
parameter is met, the online redo log file is available for reuse. For example, you can set the parameter as follows:
# Database must archive to at least two locations before # overwriting the online redo log files. LOG_ARCHIVE_MIN_SUCCEED_DEST = 2
You must have at least one local destination, which you can declare MANDATORY
or leave as optional.
At least one local destination is operationally treated as mandatory, because the minimum value for the LOG_ARCHIVE_MIN_SUCCEED_DEST
parameter is 1.
The failure of any mandatory destination makes the LOG_ARCHIVE_MIN_SUCCEED_DEST
parameter irrelevant.
The LOG_ARCHIVE_MIN_SUCCEED_DEST
parameter value cannot be greater than the number of mandatory destinations plus the number of optional local destinations.
The BINDING
column of the V$ARCHIVE_DEST
fixed view specifies how failure affects the archival operation
Enables multiple network connections to be used when sending an archived redo log file to a redo transport destination. Using multiple network connections can improve redo transport performance over high-latency network links.
Category | Description |
---|---|
Data type | Integer |
Valid values | 1 to 20 |
Default value | 1 |
Requires attributes | None |
Conflicts with attributes | None |
Corresponds to | MAX_CONNECTIONS column of the V$ARCHIVE_DEST view of the primary database |
The MAX_CONNECTIONS
attribute is optional. If it is specified, it is only used when redo transport services use ARCn processes for archival.
If MAX_CONNECTIONS
is set to 1 (the default), redo transport services use a single ARCn process to transmit redo data to the remote destination.
If MAX_CONNECTIONS
is set to a value greater than 1, redo transport services use multiple ARCn processes to transmit redo in parallel to archived redo log files at the remote destination. Each archiver (ARCn) process uses a separate network connection.
With multiple ARCn processes, redo transmission occurs in parallel, thus increasing the speed at which redo is transmitted to the remote destination.
Redo that is received from an ARCn process is written directly to an archived redo log file. Therefore, it cannot be applied in real-time as it is received.
The actual number of archiver processes in use at any given time may vary based on the archiver workload and the value of the LOG_ARCHIVE_MAX_PROCESSES
initialization parameter. For example, if the total of MAX_CONNECTIONS
attributes on all destinations exceeds the value of LOG_ARCHIVE_MAX_PROCESSES
, then Oracle Data Guard will use as many ARCn processes as possible, but the number may be less than what is specified by the MAX_CONNECTIONS
attribute.
When using multiple ARCn processes in an Oracle RAC environment, configure the primary instance to transport redo data to a single standby database instance. If redo transport services are not configured as such, then archival will return to the default behavior for remote archival, which is to transport redo data using a single ARCn process.
Controls the consecutive number of times redo transport services attempt to reestablish communication and transmit redo data to a failed destination before the primary database gives up on the destination.
Category | MAX_FAILURE=count |
---|---|
Data type | Numeric |
Valid value | >=0 |
Default value | 0 (zero) |
Requires attributes | REOPEN |
Conflicts with attributes | None |
Corresponds to | MAX_FAILURE , FAILURE_COUNT , and REOPEN_SECS columns of the V$ARCHIVE_DEST view |
The MAX_FAILURE
attribute is optional. By default, there are an unlimited number of archival attempts to the failed destination.
This attribute is useful for providing failure resolution for destinations to which you want to retry transmitting redo data after a failure, but not retry indefinitely.
When you specify the MAX_FAILURE
attribute, you must also set the REOPEN
attribute. Once the specified number of consecutive attempts is exceeded, the destination is treated as if the REOPEN
attribute was not specified.
You can view the failure count in the FAILURE_COUNT
column of the V$ARCHIVE_DEST
fixed view. The related column REOPEN_SECS
identifies the REOPEN
attribute value.
Note:
Once the failure count for the destination reaches the specifiedMAX_FAILURE
attribute value, the only way to reuse the destination is to modify the MAX_FAILURE
attribute value or any attribute. This has the effect of resetting the failure count to zero (0).The failure count is reset to zero (0) whenever the destination is modified by an ALTER SYSTEM SET
statement. This avoids the problem of setting the MAX_FAILURE
attribute to a value less than the current failure count value.
Once the failure count is greater than or equal to the value set for the MAX_FAILURE
attribute, the REOPEN
attribute value is implicitly set to zero, which causes redo transport services to transport redo data to an alternate destination (defined with the ALTERNATE
attribute) on the next archival operation.
Redo transport services attempt to archive to the failed destination indefinitely if you do not specify the MAX_FAILURE
attribute (or if you specify MAX_FAILURE=0
), and you specify a nonzero value for the REOPEN
attribute. If the destination has the MANDATORY
attribute, the online redo log file is not reusable until it has been archived to this destination.
The following example allows redo transport services up to three consecutive archival attempts, tried every 5 seconds, to the arc_dest
destination. If the archival operation fails after the third attempt, the destination is treated as if the REOPEN
attribute was not specified.
LOG_ARCHIVE_DEST_1='LOCATION=/arc_dest REOPEN=5 MAX_FAILURE=3' LOG_ARCHIVE_DEST_STATE_1=ENABLE
Specifies the number of seconds that the LGWR background process will block waiting for a redo transport destination to acknowledge redo data sent to it. If an acknowledgement is not received within NET_TIMEOUT
seconds, an error is logged and the redo transport session to that destination is terminated.
Category | NET_TIMEOUT=seconds |
---|---|
Data type | Numeric |
Valid values | 1Foot 1 to 1200 |
Default value | 30 seconds |
Requires attributes | SYNC |
Conflicts with attributes | ASYNC (If you specify the ASYNC attribute, redo transport services ignores it; no error is returned.) |
Corresponds to | NET_TIMEOUT column of the V$ARCHIVE_DEST view of the primary database |
Footnote 1 Although a minimum value of 1 second is allowed, Oracle recommends a minimum value of 8 to 10 seconds to avoid disconnecting from the standby database due to transient network errors.
The NET_TIMEOUT
attribute is optional. However, if you do not specify the NET_TIMEOUT
attribute it will be set to 30 seconds, but the primary database can potentially stall. To avoid this situation, specify a small, nonzero value for the NET_TIMEOUT
attribute so the primary database can continue operation after the user-specified timeout interval expires when waiting for status from the network server.
Indicates that the location of the archived redo log file should not be recorded at the corresponding destination.
Category | NOREGISTER |
---|---|
Data type | Keyword |
Valid values | Not applicable |
Default value | Not applicable |
Requires attributes | SERVICE |
Conflicts with attributes | LOCATION |
Corresponds to | DESTINATION and TARGET columns of the V$ARCHIVE_DEST view |
The NOREGISTER
attribute is optional if the standby database destination is a part of an Oracle Data Guard configuration.
The NOREGISTER
attribute is required if the destination is not part of an Oracle Data Guard configuration.
This attribute pertains to remote destinations only. The location of each archived redo log file is always recorded in the primary database control file.
Specifies the minimum number of seconds before redo transport services should try to reopen a failed destination.
Category | REOPEN [=seconds] |
---|---|
Data Type | Numeric |
Valid values | >=0 seconds |
Default Value | 300 seconds |
Requires attributes | None |
Conflicts with attributes | Not applicable |
Corresponds to | REOPEN_SECS and MAX_FAILURE columns of the V$ARCHIVE_DEST view |
The REOPEN
attribute is optional.
Redo transport services attempt to reopen failed destinations at log switch time.
Redo transport services check if the time of the last error plus the REOPEN
interval is less than the current time. If it is, redo transport services attempt to reopen the destination.
REOPEN
applies to all errors, not just connection failures. These errors include, but are not limited to, network failures, disk errors, and quota exceptions.
If you specify REOPEN
for an optional destination, it is possible for the Oracle database to overwrite online redo log files if there is an error. If you specify REOPEN
for a MANDATORY
destination, redo transport services will stall the primary database when it is not possible to successfully transmit redo data. When this situation occurs, consider the following options:
Change the destination by deferring the destination, specifying the destination as optional, or changing the SERVICE
attribute value.
Specify an alternate destination.
Disable the destination.
Specifies whether the synchronous (SYNC
) or asynchronous (ASYNC
) redo transport mode is to be used.
Category | SYNC | ASYNC |
---|---|---|
Data type | Keyword | Keyword |
Valid values | Not applicable | Not applicable |
Default value | Not applicable | None |
Requires attributes | None | None |
Conflicts with attributes | ASYNC , LOCATION |
SYNC , LOCATION |
Corresponds to | TRANSMIT_MODE column of the V$ARCHIVE_DEST view |
TRANSMIT_MODE column of the V$ARCHIVE_DEST view |
The LOG_ARCHIVE_DEST_11
through LOG_ARCHIVE_DEST_31
parameters do not support the SYNC
attribute.
The redo data generated by a transaction must have been received by every enabled destination that has the SYNC
attribute before that transaction can commit.
On primary databases and logical standbys, destinations 1 through 10 default to ASYNC
(real-time cascading).
On physical standbys, snapshot standbys, and far sync instances, destinations 1 through 10 default to ARCH
transport mode. (Note that the ARCH
attribute is deprecated; the use of ARCH
in this situation simply indicates non-real-time cascading.)
Destinations 11 through 31 always default to ASYNC
.
Tip:
Oracle Database Reference for more information about LOG_ARCHIVE_DEST_
n
deprecated attributes
Defines a directory specification and format template for names of archived redo log files at the destination. The template is used to generate a filename that is different from the default filename format defined by the LOG_ARCHIVE_FORMAT
initialization parameter at the redo destination.
Category | TEMPLATE=filename_template_%t_%s_%r |
---|---|
Data Type | String value |
Valid values | Not applicable |
Default value | None |
Requires attributes ... | SERVICE |
Conflicts with attributes ... | LOCATION |
Corresponds to ... | REMOTE_TEMPLATE and REGISTER columns of the V$ARCHIVE_DEST view |
The TEMPLATE
attribute is optional. If TEMPLATE
is not specified, archived redo logs are named using the value of the LOG_ARCHIVE_FORMAT
initialization parameter.
The TEMPLATE
attribute overrides the LOG_ARCHIVE_FORMAT
initialization parameter setting at the remote archival destination.
The TEMPLATE
attribute is valid only with remote destinations (that is, destinations specified with the SERVICE
attribute).
The value you specify for filename_template must contain the %s, %t, and %r directives described in Table 17-1.
Table 17-1 Directives for the TEMPLATE Attribute
Directive | Description |
---|---|
%t |
Substitute the instance thread number. |
%T |
Substitute the instance thread number, zero filled. |
%s |
Substitute the log file sequence number. |
%S |
Substitute the log file sequence number, zero filled. |
%r |
Substitute the resetlogs ID. |
%R |
Substitute the resetlogs ID, zero filled. |
The filename_template value is transmitted to the destination, where it is translated and validated before creating the filename.
Specifies whether redo data will be written to a destination, based on the following factors:
Whether the database is currently running in the primary or the standby role
Whether online redo log files, standby redo log files, or both are currently being archived on the database at this destination
Category | VALID_FOR=(redo_log_type, database_role) |
---|---|
Data Type | String value |
Valid values | Not applicable |
Default Value | VALID_FOR=(ALL_LOGFILES, ALL_ROLES) |
Requires attributes | None |
Conflicts with attributes | None |
Corresponds to | VALID_NOW , VALID_TYPE , and VALID_ROLE columns in the V$ARCHIVE_DEST view |
The VALID_FOR
attribute is optional. However, Oracle recommends that the VALID_FOR
attribute be specified for each redo transport destination at each database in an Oracle Data Guard configuration so that redo transport continues after a role transition to any standby database in the configuration.
To configure these factors for each LOG_ARCHIVE_DEST_
n
destination, you specify this attribute with a pair of keywords: VALID_FOR=(
redo_log_type,
database_role)
:
The redo_log_type keyword identifies the destination as valid for archiving one of the following:
ONLINE_LOGFILE
—This destination is valid only when archiving online redo log files.
STANDBY_LOGFILE
—This destination is valid only when archiving standby redo log files.
ALL_LOGFILES
— This destination is valid when archiving either online redo log files or standby redo log files.
The database_role keyword identifies the role in which this destination is valid for archiving:
PRIMARY_ROLE
—This destination is valid only when the database is running in the primary role.
STANDBY_ROLE
—This destination is valid only when the database is running in the standby role.
ALL_ROLES
—This destination is valid when the database is running in either the primary or the standby role.
If you do not specify the VALID_FOR
attribute for a destination, by default, archiving online redo log files and standby redo log files is enabled at the destination, regardless of whether the database is running in the primary or the standby role. This default behavior is equivalent to setting the (ALL_LOGFILES,ALL_ROLES)
keyword pair on the VALID_FOR
attribute.
The VALID_FOR
attribute enables you to use the same initialization parameter file for both the primary and standby roles.
The following example shows the default VALID_FOR
keyword pair:
LOG_ARCHIVE_DEST_1='LOCATION=/disk1/oracle/oradata VALID_FOR=(ALL_LOGFILES, ALL_ROLES)'
When this database is running in either the primary or standby role, destination 1 archives all log files to the /disk1/oracle/oradata
local directory location.