*** Reviewed for Relevance 16-Jul-2015 ***
Once a broker configuration has been established addressing the Business' requirements for protecting the environment from data loss need to be considered and potentially addressed through further configuration of the Data Guard environment.
This document examines in detail the process for enabling the MaxAvailability and MaxProtection protection modes, Fast Start Failover and the Data Guard Observer.
NOTE: In the images and/or the document content below, the user information and environment data used represents fictitious data from the Oracle sample schema(s), Public Documentation delivered with an Oracle database product or other training material. Any similarity to actual environments, actual persons, living or dead, is purely coincidental and not intended in any manner.
For the purposes of this document, the following fictitious environment is used as an example to describe the procedure:
Data Guard Configuration: rs1_dg
Observer:
Host: grid2vm1 Net Connection Alias: rs1_prm_obsrv, rs1_prm_obsrv_dgmgrl, rs1_stb_obsrv, rs1_stb_obsrv_dgmgrl
Primary Site:
Host: grid1vm1 - DB_Name: rs1 - DB_unique_name: rs1 - Net Connection Alias: rs1_prm
Standby Site:
Host: grid1vm2 - DB_Name rs1 - DB_unique_name: rs1_stb - Net Connection_Alias: rs1_stb
There are 3 nodes involved here grid1vm1 (the Primary Site), grid1vm2 (the Standby Site) and grid2vm1 (the Observer site)
All sites are running 11.2.0.3 Enterprise Edition
DGMGRL> show configuration verbose;
Configuration - rs1_dg Protection Mode: MaxPerformance
Databases:
rs1 - Primary database
rs1_stb - Physical standby database
Properties:
FastStartFailoverThreshold = '30'
OperationTimeout = '30'
FastStartFailoverLagLimit = '30'
CommunicationTimeout = '180'
FastStartFailoverAutoReinstate = 'TRUE'
FastStartFailoverPmyShutdown = 'TRUE'
BystandersFollowRoleChange = 'ALL'
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
DGMGRL> show database verbose rs1
Database - rs1
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
rs1
Properties:
DGConnectIdentifier = 'rs1_prm'
ObserverConnectIdentifier = ''
LogXptMode = 'ASYNC'
DelayMins = '0'
Binding = 'optional'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
LogShipping = 'ON'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'MANUAL'
ArchiveLagTarget = '0' LogArchiveMaxProcesses = '4'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = ''
LogFileNameConvert = ''
FastStartFailoverTarget = ''
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
LogXptStatus = '(monitor)'
RecvQEntries = '(monitor)'
SidName = 'rs1'
StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=grid1vm1)(PORT=
StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '%t_%s_%r.dbf'
TopWaitEvents = '(monitor)'
Database Status:
SUCCESS
DGMGRL> show database verbose rs1_stb;
Database - rs1_stb
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds
Apply Lag: 0 seconds
Real Time Query: OFF
Instance(s):
Instance(s):
rs1
Properties:
DGConnectIdentifier = 'rs1_stb'
ObserverConnectIdentifier = ''
LogXptMode = 'ASYNC'
DelayMins = '0'
Binding = 'OPTIONAL'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
LogShipping = 'ON'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'AUTO'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '4'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = 'rs1, rs1_stb'
LogFileNameConvert = 'rs1, rs1_stb'
FastStartFailoverTarget = ''
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
LogXptStatus = '(monitor)'
RecvQEntries = '(monitor)'
SidName = 'rs1'
StaticConnectIdentifier = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=grid1vm2.
StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '%t_%s_%r.dbf'
TopWaitEvents = '(monitor)'
Database Status:
SUCCESS
Should you to alter the default Thresholds that determine when and why a failover may occur edit the following configuration settings
To alter the amount of time the observer attempts to reconnect to the Primary after it has detected problem and the number of seconds it waits on failed connect attempts before initiating a failover edit the configuration property FastStartFailoverThreshold.
DGMGRL> edit configuration set property FastStartFailoverThreshold=45;
Property "faststartfailoverthreshold" updated
Display the configuration to confirm the settings have been successfully altered.
DGMGRL> show configuration verbose;
Configuration - rs1_dg
Protection Mode: MaxPerformance
Databases:
rs1 - Primary database
rs1_stb - Physical standby database
Properties:
FastStartFailoverThreshold = '45'
OperationTimeout = '30'
FastStartFailoverLagLimit = '45'
CommunicationTimeout = '180'
FastStartFailoverAutoReinstate = 'TRUE'
FastStartFailoverPmyShutdown = 'TRUE'
BystandersFollowRoleChange = 'ALL'
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
To alter the maximum amount of redo lag time in seconds that is allowed to exist between the sites when a failover is attempted alter FastStartFailoverLagLimit. If the lag time between the sites exceeds this limit then a failover will not be allowed as there would be to much data lost should the standby site have been activated.
DGMGRL> edit configuration set property FastStartFailoverLagLimit=45;
Property "faststartfailoverlaglimit" updated
The Observer requires its own connections to each database in the configuration. ObserverConnectIdentifier is used to add these TNS Alias entries into each databases configuration. When starting the observer one of these connections must be used to establish the initial observer connection that is going to be used during the actual startup operation of the observer. By default the ObserverConnectIdentifier setting is null and it is falling back to the DGConnectIdentifier value.
DGMGRL> show database rs1 ObserverConnectIdentifier
ObserverConnectIdentifier = ''
DGMGRL> show database rs1_stb ObserverConnectIdentifier
ObserverConnectIdentifier = ''
The Observer machine has 11.2.0.3 installed. The version must match that of the sites in the configuration. The install can be either a client install or a complete Enterprise Edition install. In the Observer site TNS Aliases must be created for both the statically registered listener services and the ObserverConnectIdentifier entries. The Static Listener entries will be used during any editing of the broker configuration from the Observer machine. The ObserverConnectIdentifier aliases will be used to start and stop the observer.
The following is configured in the tnsnames.ora. Aliases must be configured for both the primary and standby sites and these entries will be placed in the TNSNAMES.ORA at all sites including the Primary, Standby and Observer sites.
This ObserverConnectIdentifier alias must be dynamically registered in each sites listener and in RAC enabled for failover between RAC instances.
Observer Specific TNS Aliases
RS1_PRM_OBSRV =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = grid1vm1.
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rs1.
)
)
RS1_STB_OBSRV =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = grid1vm2.
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rs1_stb.
)
)
Observer Static TNS Alias Entries
The aliases that are to used to perform configuration tasks resolve to listener services that are statically registered. That is they are manually configured in the listener at each site.
RS1_PRM_OBSRV_DGMGRL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = grid1vm1.
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rs1_prm_dgmgrl.
)
)
RS1_STB_OBSRV_DGMGRL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = grid1vm2.
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = rs1_stb_dgmgrl.
)
)
Test ALL the TNS aliases used by the observer using BOTH tnsping and sqlplus SYSDBA remote connections. These must succeed from the observer site and each database site that is a part of the configuration. The test will need to be repeated from each site that is a member of the Data Guard Broker configuration plus the Observer site.
For Example from the Standby site:
TNSPING from the Standby site to an Observer alias
[oracle@grid1vm2 ~]$ tnsping rs1_prm_obsrv
TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 28-NOV-2012 10:13:36
Copyright (c) 1997, 2011, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = grid1vm1.
OK (20 msec)
SQLPlus SYSDBA based connection to the same alias
[oracle@grid1vm2 ~]$ sqlplus sys@rs1_prm_obsrv as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 28 10:13:54 2012
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Enter password:
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
These same tests will need to be performed against the TNS Aliases that resolve to the statically registered listener services.
The tests will need to be repeated against all aliases used by the observers from all sites.
The alias used when connecting into the observer MUST be the same as the alias set in the broker configuration for the property ObserverConnectIdentifier
To add the ObserverConnectIdentifiers use the following.
For the Primary Site
DGMGRL> edit database rs1 set property ObserverConnectIdentifier='rs1_prm_obsrv';
Property "observerconnectidentifier" updated
For the Standby Site
DGMGRL> edit database rs1_stb set property ObserverConnectIdentifier='rs1_stb_obsrv';
Property "observerconnectidentifier" updated
Check the settings using
DGMGRL> show database rs1 ObserverConnectIdentifier;
ObserverConnectIdentifier = 'rs1_prm_obsrv'
DGMGRL> show database rs1_stb ObserverConnectIdentifier;
ObserverConnectIdentifier = 'rs1_stb_obsrv'
Now that the connections and thresholds are in place attempt to enable fast start failover.
From the Oberserver site
Connect to the Primary using the Observer TNS Alias
[oracle@grid2vm1 ~]$ dgmgrl sys/
DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
Ensure the configuration can be viewed successfully using the Observer site
DGMGRL> show configuration;
Configuration - rs1_dg
Protection Mode: MaxPerformance
Databases:
rs1 - Primary database
rs1_stb - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
DGMGRL> enable fast_start failover;
Error: ORA-16651: requirements not met for enabling fast-start failover
Failed.
Currently there is the configuration does not allow fast start failover to be enabled.
Looking at the error there are a number of potential causes for this error that include the mix of protection mode and Log shipping modes that the sites are currently configured with. These will need to be alered.
oerr ora 16627
16627, 0000, "operation disallowed since no standby databases would remain to support protection mode"
// *Cause: This status was returned because of one of the following:
// - The broker rejected an attempt to change the overall
// configuration protection mode since it could not find any
// enabled standby databases that supported the proposed protection
// mode.
// - The broker rejected an attempt to enable the configuration
// if it determined that there were no enabled standby databases
// that supported the overall protection mode.
// - The broker rejected an attempt to disable or remove a database
// that, if disabled or deleted, would result in no remaining
// standby databases that could support the overall configuration
// protection mode.
// - The broker rejected an attempt to switchover if doing so would
// violate the overall configuration protection mode.
// - Performing automatic health check if the broker determined that
// no standby datbases supported the overall protection mode.
// *Action: - If changing the overall protection mode, confirm that at least
// one standby database satisfies the new protection mode.
// - For enable failures, confirm that at least one standby database
// has a LogXptMode configurable property setting that supports
// the current overall protection mode.
// - For delete and disable failures, confirm that at least one
// other standby database has a LogXptMode configurable property
// setting that supports the overall protection mode.
// - For switchover failures that occur when the configuration
// is operating in maximum protection or maximum availability
// mode, confirm that at least one other standby database has its
// LogXptMode configurable property set to the value "SYNC".
// If the configuration contains a primary database and a single
// standby database and is operating in either maximum protection
// or maximum availability mode, ensure that the LogXptMode
// configurable property of the primary database is set to the
// value "SYNC". Since the old primary database will become the
// standby database after switchover completes, its LogXptMode
// configurable property setting must support the configuration
// protection mode.
// - For health check error, confirm that at least one standby
// database has a LogXptMode configurable property setting
// that supports the current overall protection mode.
As this Data Guard configuration is to run in MaxProtection mode the following is performed to establish this mode prior to enabling fast start failover.
Currently it is running MaxPerformance mode
DGMGRL> show configuration verbose;
Configuration - rs1_dg
Protection Mode: MaxPerformance
Databases:
rs1 - Primary database
rs1_stb - Physical standby database
Properties:
FastStartFailoverThreshold = '45'
OperationTimeout = '30'
FastStartFailoverLagLimit = '45'
CommunicationTimeout = '180'
FastStartFailoverAutoReinstate = 'TRUE'
FastStartFailoverPmyShutdown = 'TRUE'
BystandersFollowRoleChange = 'ALL'
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
Log Shipping is being performed using LGWR ASYNC as seen via the LogXPTMode property, Standby file management is set to Manual (StandbyFileManagement property) and no Fast Start Failover target (FastStartFailover property in the primary site) has been set. These will need to be altered.
Each site must also have Flashback Database enabled.
DGMGRL> show database verbose rs1;
Database - rs1
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
rs1
Properties:
DGConnectIdentifier = 'rs1_prm'
ObserverConnectIdentifier = 'rs1_stb_obsrv'
LogXptMode = 'async'
DelayMins = '0'
Binding = 'optional'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
LogShipping = 'ON'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'MANUAL'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '4'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = ''
LogFileNameConvert = ''
FastStartFailoverTarget = ''
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
LogXptStatus = '(monitor)'
RecvQEntries = '(monitor)'
SidName = 'rs1'
StaticConnectIdentifier = 'rs1_prm_dgmgrl'
StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '%t_%s_%r.dbf'
TopWaitEvents = '(monitor)'
Database Status:
SUCCESS
DGMGRL> show database verbose rs1_stb;
Database - rs1_stb
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds
Apply Lag: 0 seconds
Real Time Query: OFF
Instance(s):
rs1
Properties:
DGConnectIdentifier = 'rs1_stb'
ObserverConnectIdentifier = 'rs1_stb'
LogXptMode = 'async'
DelayMins = '0'
Binding = 'OPTIONAL'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
LogShipping = 'ON'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'AUTO'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '4'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = 'rs1, rs1_stb'
LogFileNameConvert = 'rs1, rs1_stb'
FastStartFailoverTarget = ''
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
LogXptStatus = '(monitor)'
RecvQEntries = '(monitor)'
SidName = 'rs1'
StaticConnectIdentifier = 'rs1_stb_dgmgrl'
StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '%t_%s_%r.dbf'
TopWaitEvents = '(monitor)'
Database Status:
SUCCESS
DGMGRL> edit database rs1_stb set state=APPLY-OFF;
Succeeded.
Flashback must be enabled in ALL the database sites. It was turned on in the primary but had not yet been enabled in the standby site.
The Standy site
SQL> select open_mode,flashback_on from v$database;
OPEN_MODE FLASHBACK_ON
MOUNTED NO
SQL> alter database flashback on;
Database altered.
The Log shipping mode needs to be set to SYNC in both the sites.
DGMGRL> connect sys@rs1_prm_obsrv
Password:
Connected.
DGMGRL> edit database rs1 set property LogXptMode='SYNC';
Property "logxptmode" updated
DGMGRL> edit database rs1_stb set property LogXptMode='SYNC';
Property "logxptmode" updated
DGMGRL> edit configuration set protection mode as MaxProtection;
Operation requires shutdown of instance "rs1" on database "rs1"
Shutting down instance "rs1"...
Database closed.
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "rs1" on database "rs1"
Starting instance "rs1"...
Unable to connect to database
ORA-12154: TNS:could not resolve the connect identifier specified
Failed.
Warning: You are no longer connected to ORACLE.
Please complete the following steps to finish the operation:
start up instance "rs1" of database "rs1"
DGMGRL> exit
In this case the connection used to invoke dgmgrl was not one that specified the TNS alias that resolved to the statically registered listener service.
It is for this reason that the Primary site could NOT be automatically restarted by the broker.
A manual startup of the Primary site instance(s) will correct this.
[oracle@grid1vm1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Nov 28 11:05:20 2012
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 417546240 bytes
Fixed Size 2228944 bytes
Variable Size 176164144 bytes
Database Buffers 230686720 bytes
Redo Buffers 8466432 bytes
Database mounted.
Database opened.
The configuration has now been altered and Max Protection Mode enabled.
[oracle@grid2vm1 ~]$ dgmgrl sys/
DGMGRL for Linux: Version 11.2.0.3.0 - 64bit Production
Copyright (c) 2000, 2009, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected.
DGMGRL> show configuration;
Configuration - rs1_dg
Protection Mode: MaxProtection
Databases:
rs1 - Primary database
rs1_stb - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
Should the protection mode need to be alered to MaxAvailability
DGMGRL> edit configuration set protection mode as MaxAvailability;
Succeeded.
DGMGRL> show configuration verbose;
Configuration - rs1_dg
Protection Mode: MaxAvailability
Databases:
rs1 - Primary database
rs1_stb - Physical standby database
Properties:
FastStartFailoverThreshold = '45'
OperationTimeout = '30'
FastStartFailoverLagLimit = '45'
CommunicationTimeout = '180'
FastStartFailoverAutoReinstate = 'TRUE'
FastStartFailoverPmyShutdown = 'TRUE'
BystandersFollowRoleChange = 'ALL'
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
At this point Standby file management is set to manual so this will be set to auto so that file addition at the primary will not impact managed recovery.
DGMGRL> show database verbose rs1;
Database - rs1
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
rs1
Properties:
DGConnectIdentifier = 'rs1_prm'
ObserverConnectIdentifier = 'rs1_prm_obsrv'
LogXptMode = 'SYNC'
DelayMins = '0'
Binding = 'optional'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
LogShipping = 'ON'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'MANUAL'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '4'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = ''
LogFileNameConvert = ''
FastStartFailoverTarget = 'rs1_stb'
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
LogXptStatus = '(monitor)'
RecvQEntries = '(monitor)'
SidName = 'rs1'
StaticConnectIdentifier = 'rs1_prm_dgmgrl'
StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '%t_%s_%r.dbf'
TopWaitEvents = '(monitor)'
Database Status:
SUCCESS
In both sites set the property StandbyFileManagement to automatic
DGMGRL> edit database rs1 set property StandbyFileManagement='AUTO';
Property "standbyfilemanagement" updated
DGMGRL> edit database rs1_stb set property StandbyFileManagement='AUTO';
Property "standbyfilemanagement" updated
Standby site
DGMGRL> show database verbose rs1_stb;
Database - rs1_stb
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds
Apply Lag: 0 seconds
Real Time Query: OFF
Instance(s):
rs1
Properties:
DGConnectIdentifier = 'rs1_stb'
ObserverConnectIdentifier = 'rs1_stb_obsrv'
LogXptMode = 'SYNC'
DelayMins = '0'
Binding = 'OPTIONAL'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
LogShipping = 'ON'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'AUTO'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '4'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = 'rs1, rs1_stb'
LogFileNameConvert = 'rs1, rs1_stb'
FastStartFailoverTarget = ''
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
LogXptStatus = '(monitor)'
RecvQEntries = '(monitor)'
SidName = 'rs1'
StaticConnectIdentifier = 'rs1_stb_dgmgrl'
StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '%t_%s_%r.dbf'
TopWaitEvents = '(monitor)'
Database Status:
SUCCESS
Primary Site
DGMGRL> show database verbose rs1;
Database - rs1
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
rs1
Properties:
DGConnectIdentifier = 'rs1_prm'
ObserverConnectIdentifier = 'rs1_prm_obsrv'
LogXptMode = 'SYNC'
DelayMins = '0'
Binding = 'optional'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '300'
NetTimeout = '30'
RedoCompression = 'DISABLE'
LogShipping = 'ON'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'AUTO'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '4'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = ''
LogFileNameConvert = ''
FastStartFailoverTarget = 'rs1_stb'
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
LogXptStatus = '(monitor)'
RecvQEntries = '(monitor)'
SidName = 'rs1'
StaticConnectIdentifier = 'rs1_prm_dgmgrl'
StandbyArchiveLocation = 'USE_DB_RECOVERY_FILE_DEST'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '%t_%s_%r.dbf'
TopWaitEvents = '(monitor)'
Database Status:
SUCCESS
Now that the broker configuration is complete fast start failover can be enabled.
DGMGRL> enable fast_start failover;
Enabled.
Now that fast start failover is enabled the broker can be started. Log into the observer machine and start the Faststart Failover observer.
[oracle@grid2vm1 ]$ dgmgrl -logfile
Community Discussions
Still have questions? Consider posting a discussion in the High Availability Data Guard, Sharding and Global Data Services (MOSC) Community.