Configuring Fast Start Failover
Configuring Fast Start Failover
In the article you will have a look at an example of configuring Fast Start Failover (FSFO). Oracle 11gR2 has been used. The configuration is based on server zeus running the PRA database and server Apollo running the STBY2 database. The STBY2 is the standby database.
-
Initial data guard configuration.
DGMGRL> show database verbose stby2
Database – stby2
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: 0 seconds
Apply Lag: 0 seconds
Real Time Query: ON
Instance(s):
STBY2
Properties:
DGConnectIdentifier = ‘stby2’
ObserverConnectIdentifier = ”
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 = ‘5’
LogArchiveMinSucceedDest = ‘1’
DbFileNameConvert = ”
LogFileNameConvert = ”
FastStartFailoverTarget = ”
InconsistentProperties = ‘(monitor)’
InconsistentLogXptProps = ‘(monitor)’
SendQEntries = ‘(monitor)’
LogXptStatus = ‘(monitor)’
RecvQEntries = ‘(monitor)’
SidName = ‘STBY2’
StaticConnectIdentifier = ‘(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.22)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=STBY2_DGMGRL)(INSTANCE_NAME=STBY2)(SERVER=DEDICATED)))’
StandbyArchiveLocation = ‘USE_DB_RECOVERY_FILE_DEST’
AlternateLocation = ”
LogArchiveTrace = ‘0’
LogArchiveFormat = ‘%t_%s_%r.dbf’
TopWaitEvents = ‘(monitor)’
Database Status:
SUCCESS
DGMGRL>
DGMGRL> show database verbose pra
Database – pra
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
PRA
Properties:
DGConnectIdentifier = ‘pra’
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 = ”
LogFileNameConvert = ”
FastStartFailoverTarget = ”
InconsistentProperties = ‘(monitor)’
InconsistentLogXptProps = ‘(monitor)’
SendQEntries = ‘(monitor)’
LogXptStatus = ‘(monitor)’
RecvQEntries = ‘(monitor)’
SidName = ‘PRA’
StaticConnectIdentifier = ‘(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.21)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=PRA_DGMGRL)(INSTANCE_NAME=PRA)(SERVER=DEDICATED)))’
StandbyArchiveLocation = ‘USE_DB_RECOVERY_FILE_DEST’
AlternateLocation = ”
LogArchiveTrace = ‘0’
LogArchiveFormat = ‘%t_%s_%r.dbf’
TopWaitEvents = ‘(monitor)’
Database Status:
SUCCESS
DGMGRL>
DGMGRL> show configuration
Configuration – DGConfiguration
Protection Mode: MaxAvailability
Databases:
pra – Primary database
stby1 – Physical standby database
stby2 – Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
DGMGRL>
-
Configure FastStartFailoverTarget
DGMGRL> edit database pra set property faststartfailovertarget=stby2;
Property “faststartfailovertarget” updated
DGMGRL> edit database stby2 set property faststartfailovertarget=pra;
Property “faststartfailovertarget” updated
DGMGRL>
-
Set configuration properties.
DGMGRL> edit configuration set property faststartfailoverthreshold=90;
Property “faststartfailoverthreshold” updated
DGMGRL>
DGMGRL> edit configuration set property faststartfailoverlaglimit=80;
Property “faststartfailoverlaglimit” updated
DGMGRL>
DGMGRL> show configuration verbose
Configuration – DGConfiguration
Protection Mode: MaxAvailability
Databases:
pra – Primary database
stby1 – Physical standby database
stby2 – Physical standby database
Properties:
FastStartFailoverThreshold = ’90’
OperationTimeout = ’30’
FastStartFailoverLagLimit = ’80’
CommunicationTimeout = ‘180’
FastStartFailoverAutoReinstate = ‘TRUE’
FastStartFailoverPmyShutdown = ‘TRUE’
BystandersFollowRoleChange = ‘ALL’
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
DGMGRL>
-
Enable FSFO
enable fast_start failover;
DGMGRL> enable fast_start failover
Error: ORA-16651: requirements not met for enabling fast-start failover
Failed.
DGMGRL> edit database pra set property LogXptMode=SYNC;
Property “logxptmode” updated
DGMGRL>
DGMGRL>
DGMGRL> edit database stby2 set property LogXptMode=sync;
Property “logxptmode” updated
DGMGRL> edit database stby1 set property LogXptMode=sync;
Property “logxptmode” updated
DGMGRL>
DGMGRL> enable fast_start failover
Enabled.
DGMGRL>
DGMGRL> show configuration verbose
Configuration – DGConfiguration
Protection Mode: MaxAvailability
Databases:
pra – Primary database
Warning: ORA-16819: fast-start failover observer not started
stby2 – (*) Physical standby database
Warning: ORA-16819: fast-start failover observer not started
stby1 – Physical standby database
(*) Fast-Start Failover target
Properties:
FastStartFailoverThreshold = ’90’
OperationTimeout = ’30’
FastStartFailoverLagLimit = ’80’
CommunicationTimeout = ‘180’
FastStartFailoverAutoReinstate = ‘TRUE’
FastStartFailoverPmyShutdown = ‘TRUE’
BystandersFollowRoleChange = ‘ALL’
Fast-Start Failover: ENABLED
Threshold: 90 seconds
Target: stby2
Observer: (none)
Lag Limit: 80 seconds (not in use)
Shutdown Primary: TRUE
Auto-reinstate: TRUE
Configuration Status:
WARNING
DGMGRL>
DGMGRL> show fast_start failover
Fast-Start Failover: ENABLED
Threshold: 90 seconds
Target: stby2
Observer: (none)
Lag Limit: 80 seconds (not in use)
Shutdown Primary: TRUE
Auto-reinstate: TRUE
Configurable Failover Conditions
Health Conditions:
Corrupted Controlfile YES
Corrupted Dictionary YES
Inaccessible Logfile NO
Stuck Archiver NO
Datafile Offline YES
Oracle Error Conditions:
(none)
DGMGRL>
-
Start the observer
DGMGRL> connect sys/sys1
Connected.
DGMGRL> start observer
Observer started
-
Check the configuration
DGMGRL> show configuration verbose
Configuration – DGConfiguration
Protection Mode: MaxAvailability
Databases:
pra – Primary database
stby2 – (*) Physical standby database
stby1 – Physical standby database
(*) Fast-Start Failover target
Properties:
FastStartFailoverThreshold = ’90’
OperationTimeout = ’30’
FastStartFailoverLagLimit = ’80’
CommunicationTimeout = ‘180’
FastStartFailoverAutoReinstate = ‘TRUE’
FastStartFailoverPmyShutdown = ‘TRUE’
BystandersFollowRoleChange = ‘ALL’
Fast-Start Failover: ENABLED
Threshold: 90 seconds
Target: stby2
Observer: apollo.gj.com
Lag Limit: 80 seconds (not in use)
Shutdown Primary: TRUE
Auto-reinstate: TRUE
Configuration Status:
SUCCESS
DGMGRL>
DGMGRL> show fast_start failover
Fast-Start Failover: ENABLED
Threshold: 90 seconds
Target: stby2
Observer: apollo.gj.com
Lag Limit: 80 seconds (not in use)
Shutdown Primary: TRUE
Auto-reinstate: TRUE
Configurable Failover Conditions
Health Conditions:
Corrupted Controlfile YES
Corrupted Dictionary YES
Inaccessible Logfile NO
Stuck Archiver NO
Datafile Offline YES
Oracle Error Conditions:
(none)
DGMGRL>
-
Test FSFO. Issue shutdown abort on the primary
From the standby
DGMGRL> show configuration
Configuration – DGConfiguration
Protection Mode: MaxAvailability
Databases:
stby2 – Primary database
pra – (*) Physical standby database (disabled)
stby1 – Physical standby database
Fast-Start Failover: ENABLED
Configuration Status:
ORA-16610: command “FAILOVER TO stby2” in progress
DGM-17017: unable to determine configuration status
DGMGRL>
DGMGRL> start observer
not logged on
Failed.
DGMGRL> connect sys/sys1
Connected.
DGMGRL> start observer
Observer started
21:19:09.83 Friday, July 26, 2013
Initiating Fast-Start Failover to database “stby2″…
Performing failover NOW, please wait…
Failover succeeded, new primary is “stby2”
21:21:10.91 Friday, July 26, 2013
DGMGRL> show configuration
Configuration – DGConfiguration
Protection Mode: MaxAvailability
Databases:
stby2 – Primary database
Warning: ORA-16817: unsynchronized fast-start failover configuration
pra – (*) Physical standby database (disabled)
ORA-16661: the standby database needs to be reinstated
stby1 – Physical standby database
Fast-Start Failover: ENABLED
Configuration Status:
WARNING
DGMGRL>
DGMGRL> show database stby2
Database – stby2
Role: PRIMARY
Intended State: TRANSPORT-ON
Instance(s):
STBY2
Database Warning(s):
ORA-16817: unsynchronized fast-start failover configuration
Database Status:
WARNING
DGMGRL>
DGMGRL> show database pra
Database – pra
Role: PHYSICAL STANDBY
Intended State: APPLY-ON
Transport Lag: (unknown)
Apply Lag: (unknown)
Real Time Query: OFF
Instance(s):
PRA
Database Status:
ORA-16661: the standby database needs to be reinstated
DGMGRL>
-
Reinstatement
[oracle@zeus ~]$ env | grep ORA
ORACLE_UNQNAME=PRA
ORACLE_SID=PRA
ORACLE_HOSTNAME=zeus
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
[oracle@zeus ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Fri Jul 26 21:26:56 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup mount;
ORACLE instance started.
Total System Global Area 555339776 bytes
Fixed Size 2230272 bytes
Variable Size 473958400 bytes
Database Buffers 75497472 bytes
Redo Buffers 3653632 bytes
Database mounted.
SQL>
DGMGRL> reinstate database pra
Reinstating database “pra”, please wait…
Error: ORA-16657: reinstatement of database in progress
Failed.
Database reinstatement for “pra” in progress.
DGMGRL>
DGMGRL> start observer
Observer started
21:19:09.83 Friday, July 26, 2013
Initiating Fast-Start Failover to database “stby2″…
Performing failover NOW, please wait…
Failover succeeded, new primary is “stby2”
21:21:10.91 Friday, July 26, 2013
21:27:38.60 Friday, July 26, 2013
Initiating reinstatement for database “pra”…
Reinstating database “pra”, please wait…
Operation requires shutdown of instance “PRA” on database “pra”
Shutting down instance “PRA”…
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance “PRA” on database “pra”
Starting instance “PRA”…
ORACLE instance started.
Database mounted.
Continuing to reinstate database “pra” …
Reinstatement of database “pra” succeeded
21:31:06.83 Friday, July 26, 2013
After all withoot intervention
DGMGRL> show configuration
Configuration – DGConfiguration
Protection Mode: MaxAvailability
Databases:
stby2 – Primary database
pra – (*) Physical standby database
stby1 – Physical standby database
Fast-Start Failover: ENABLED
Configuration Status:
SUCCESS
DGMGRL>
Switchover to pra
DGMGRL> switchover to pra
Performing switchover NOW, please wait…
New primary database “pra” is opening…
Operation requires shutdown of instance “STBY2” on database “stby2”
Shutting down instance “STBY2″…
ORACLE instance shut down.
Operation requires startup of instance “STBY2” on database “stby2”
Starting instance “STBY2″…
ORACLE instance started.
Database mounted.
Database opened.
Switchover succeeded, new primary is “pra”
DGMGRL>
DGMGRL> show configuration verbose
Configuration – DGConfiguration
Protection Mode: MaxAvailability
Databases:
pra – Primary database
stby2 – (*) Physical standby database
stby1 – Physical standby database
(*) Fast-Start Failover target
Properties:
FastStartFailoverThreshold = ’90’
OperationTimeout = ’30’
FastStartFailoverLagLimit = ’80’
CommunicationTimeout = ‘180’
FastStartFailoverAutoReinstate = ‘TRUE’
FastStartFailoverPmyShutdown = ‘TRUE’
BystandersFollowRoleChange = ‘ALL’
Fast-Start Failover: ENABLED
Threshold: 90 seconds
Target: stby2
Observer: apollo.gj.com
Lag Limit: 80 seconds (not in use)
Shutdown Primary: TRUE
Auto-reinstate: TRUE
Configuration Status:
SUCCESS
DGMGRL>
Stoping observer.
DGMGRL> connect sys/sys1
Connected.
DGMGRL> stop observer
Done.
[oracle@apollo ~]$
DGMGRL> start observer
Observer started
21:19:09.83 Friday, July 26, 2013
Initiating Fast-Start Failover to database “stby2″…
Performing failover NOW, please wait…
Failover succeeded, new primary is “stby2”
21:21:10.91 Friday, July 26, 2013
21:27:38.60 Friday, July 26, 2013
Initiating reinstatement for database “pra”…
Reinstating database “pra”, please wait…
Operation requires shutdown of instance “PRA” on database “pra”
Shutting down instance “PRA”…
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance “PRA” on database “pra”
Starting instance “PRA”…
ORACLE instance started.
Database mounted.
Continuing to reinstate database “pra” …
Reinstatement of database “pra” succeeded
21:31:06.83 Friday, July 26, 2013
Observer stopped
[oracle@apollo ~]$
DGMGRL> show configuration verbose
Configuration – DGConfiguration
Protection Mode: MaxAvailability
Databases:
pra – Primary database
Warning: ORA-16819: fast-start failover observer not started
stby2 – (*) Physical standby database
Warning: ORA-16819: fast-start failover observer not started
stby1 – Physical standby database
(*) Fast-Start Failover target
Properties:
FastStartFailoverThreshold = ’90’
OperationTimeout = ’30’
FastStartFailoverLagLimit = ’80’
CommunicationTimeout = ‘180’
FastStartFailoverAutoReinstate = ‘TRUE’
FastStartFailoverPmyShutdown = ‘TRUE’
BystandersFollowRoleChange = ‘ALL’
Fast-Start Failover: ENABLED
Threshold: 90 seconds
Target: stby2
Observer: (none)
Lag Limit: 80 seconds (not in use)
Shutdown Primary: TRUE
Auto-reinstate: TRUE
Configuration Status:
WARNING
DGMGRL>
-
Disable the configuration
DGMGRL> disable fast_start failover
Disabled.
DGMGRL> show configuration verbose
Configuration – DGConfiguration
Protection Mode: MaxAvailability
Databases:
pra – Primary database
stby1 – Physical standby database
stby2 – Physical standby database
Properties:
FastStartFailoverThreshold = ’90’
OperationTimeout = ’30’
FastStartFailoverLagLimit = ’80’
CommunicationTimeout = ‘180’
FastStartFailoverAutoReinstate = ‘TRUE’
FastStartFailoverPmyShutdown = ‘TRUE’
BystandersFollowRoleChange = ‘ALL’
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS
DGMGRL>
DGMGRL> show database pra LogXptMode
LogXptMode = ‘sync’
DGMGRL> show database stby1 LogXptMode
LogXptMode = ‘sync’
DGMGRL> show database stby2 LogXptMode
LogXptMode = ‘sync’
DGMGRL>
Summary:
The article had a glimpse of configuring a Fast Start Failover and a test of a failover as a result of shutdown abort on the primary database.
No comments yet.
-
Archives
- February 2017 (1)
- November 2016 (1)
- October 2016 (1)
- May 2016 (2)
- March 2016 (3)
- December 2014 (2)
- July 2014 (1)
- June 2014 (6)
- May 2014 (5)
- February 2014 (1)
- December 2012 (2)
- November 2012 (8)
-
Categories
-
RSS
Entries RSS
Comments RSS
Leave a Reply