By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
424,850 Members | 1,005 Online
Bytes IT Community
Submit an Article
Got Smarts?
Share your bits of IT knowledge by writing an article on Bytes.

Fast-Start Failover An Overview In Dataguard Environment

P: 16
Fast-Start Failover An Overview In Dataguard Environment
================================================== ===========================

This article describes the automatic fast start failover configuration and the conditions for trigerring a fast start failover in dataguard environment .

In Faststart failover dataguard configuration if the primary database becomes unavailable, the observer confirms with the target standby database that the primary production database is unavailable and that the target standby
database is synchronized with the production database, if so, initiates a faststart failover to the target standby database if there is a gurantee that no data will be lost.

Minimum requirements for enabling Fast-Start Failover

- The Data Guard configuration must be in MaxAvailability protection mode.

- The LogXptMode property for both the primary database and the Fast-Start Failover target standby database must be SYNC.

- The primary database and the Fast-Start Failover target standby database must both have flashback enabled.

- No valid target standby database was specified in the primary database's FastStartFailoverTarget property prior to the attempt to enable Fast-Start Failover, and more than one standby database exists in the Data Guard configuration.


DGMGRL for Linux: Version 10.2.0.1.0 - 64bit Production

Copyright (c) 2000, 2005, Oracle. All rights reserved.

Welcome to DGMGRL, type "help" for information.
DGMGRL> connect sys/passwd
Connected.
DGMGRL> create configuration 'ORCL' as
> primary database is 'ORCL_DB'
> connect identifier is 'ORCL.world';
Configuration "ORCL" created with primary database "ORCL_DB"
DGMGRL> show configuration

Configuration
Name: ORCL
Enabled: NO
Protection Mode: MaxPerformance
Fast-Start Failover: DISABLED
Databases:
ORCL_DB - Primary database

Current status for "ORCL":
DISABLED

DGMGRL> add database 'STNDBY_DB' as
> connect identifier is STNDBY_DB maintained as physical;
Database "STNDBY_DB" added
DGMGRL> show database verbose 'STNDBY_DB';

Database
Name: STNDBY_DB
Role: PHYSICAL STANDBY
Enabled: NO
Intended State: OFFLINE
Instance(s):
orcl

Properties:
InitialConnectIdentifier = 'STNDBY_DB'
LogXptMode = 'ASYNC'
Dependency = ''
DelayMins = '0'
Binding = 'OPTIONAL'
MaxFailure = '0'
MaxConnections = '1'
ReopenSecs = '10'
NetTimeout = '180'
LogShipping = 'ON'
PreferredApplyInstance = ''
ApplyInstanceTimeout = '0'
ApplyParallel = 'AUTO'
StandbyFileManagement = 'MANUAL'
ArchiveLagTarget = '0'
LogArchiveMaxProcesses = '2'
LogArchiveMinSucceedDest = '1'
DbFileNameConvert = ''
LogFileNameConvert = ''
FastStartFailoverTarget = ''
StatusReport = '(monitor)'
InconsistentProperties = '(monitor)'
InconsistentLogXptProps = '(monitor)'
SendQEntries = '(monitor)'
LogXptStatus = '(monitor)'
RecvQEntries = '(monitor)'
HostName = 'localhost.localdomain'
SidName = 'orcl'
LocalListenerAddress = '(ADDRESS=(PROTOCOL=tcp)(PORT=1540)(HOST=localhost .localdomain))'
StandbyArchiveLocation = '/u04/oradata/arch'
AlternateLocation = ''
LogArchiveTrace = '0'
LogArchiveFormat = '%t_%s_%r.dbf'
LatestLog = '(monitor)'
TopWaitEvents = '(monitor)'

Current status for "STNDBY_DB":
DISABLED

DGMGRL> enable configuration
Enabled.



DGMGRL> EDIT DATABASE 'ORCL_DB' SET PROPERTY FastStartFailoverTarget = 'STNDBY_DB';
Property "faststartfailovertarget" updated


DGMGRL> EDIT DATABASE 'STNDBY_DB' SET PROPERTY FastStartFailoverTarget = 'ORCL_DB';
Property "faststartfailovertarget" updated



DGMGRL> EDIT DATABASE 'ORCL_DB' SET PROPERTY 'LogXptMode'='SYNC';
Property "LogXptMode" updated
DGMGRL> EDIT DATABASE 'STNDBY_DB' SET PROPERTY 'LogXptMode'='SYNC';

GMGRL> EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
Operation requires shutdown of instance "ORCL" on database "ORCL_DB"

Shutting down instance "orcl"...
Database closed.
Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "orcl" on database "ORCL_DB"
Starting instance "orcl"...
ORACLE instance started.
Database mounted.


-Here check for UNDO renention and flashback database ,enable fast start failover and start observer from DGMGRL

DGMGRL> ENABLE FAST_START FAILOVER;
Enabled.

DGMGRL> START OBSERVER;
Observer started

DGMGRL> show configuration verbose

Configuration
Name: ORCL
Enabled: YES
Protection Mode: MaxAvailability
Fast-Start Failover: ENABLED
Databases:
ORCL_DB - Primary database
STNDBY_DB - Physical standby database
- Fast-Start Failover target

Fast-Start Failover
Threshold: 30 seconds
Observer: localhost.localdomain

-Events that may trigger a fast start failover are instance failure ,datafile taken offline due to IO errors ,shutdown abo
rt /others ...,here a shutdown abort is initated in the primary instance .
Observer log:-
Current status for "ORCL":
SUCCESS

18:46:48.69 Wednesday, January 09, 2008
Initiating fast-start failover to database "STNDBY_DB"...
Performing failover NOW, please wait...
Failover succeeded, new primary is "STNDBY_DB"
18:47:19.09 Wednesday, January 09, 2008


Alert Log:-


RFS[7]: Possible network disconnect with primary database
Wed Jan 9 18:46:15 2008
RFS[6]: Possible network disconnect with primary database
Wed Jan 9 18:46:15 2008
RFS[8]: Possible network disconnect with primary database
Wed Jan 9 18:46:48 2008
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE
Wed Jan 9 18:46:48 2008
Terminal Recovery: Stopping real time apply
Wed Jan 9 18:46:49 2008
MRP0: Background Media Recovery cancelled with status 16037
Wed Jan 9 18:46:49 2008
Errors in file /u03/app/admin/oracle/admin/ORCL/bdump/orcl_mrp0_18084.trc:
ORA-16037: user requested cancel of managed recovery operation
Managed Standby Recovery not using Real Time Apply
Recovery interrupted!
Wed Jan 9 18:46:49 2008
Errors in file /u03/app/admin/oracle/admin/ORCL/bdump/orcl_mrp0_18084.trc:
ORA-16037: user requested cancel of managed recovery operation
Wed Jan 9 18:46:49 2008
MRP0: Background Media Recovery process shutdown (orcl)
Wed Jan 9 18:46:49 2008
Terminal Recovery: Stopped real time apply
Wed Jan 9 18:46:49 2008
Attempt to do a Terminal Recovery (orcl)
Wed Jan 9 18:46:49 2008
Media Recovery Start: Managed Standby Recovery (orcl)
Managed Standby Recovery not using Real Time Apply
parallel recovery started with 2 processes
Terminal Recovery timestamp is '01/09/2008 18:46:50'
Terminal Recovery: applying standby redo logs.
Terminal Recovery: thread 1 seq# 173 redo required
Terminal Recovery: /u04/oradata/ORCL/ORCL_stdby_redo06.log
Identified End-Of-Redo for thread 1 sequence 173
Wed Jan 9 18:46:50 2008
Incomplete recovery applied all redo ever generated.
Recovery completed through change 1062009
Wed Jan 9 18:46:50 2008
Media Recovery Complete (orcl)
Terminal Recovery: successful completion
Begin: Standby Redo Logfile archival
End: Standby Redo Logfile archival
Resetting standby activation ID 1169895671 (0x45bb30f7)
Completed: ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH FORCE
Wed Jan 9 18:46:54 2008

Here the standby database performs a fast-start failover and changes the role to primary ,in many cases it
will be possible to restart the original production database after a fast-start failover, and after the problem
that had caused the failover has been resolved. For this reason, following a fast-start
failover the observer periodically attempts to reconnect to the original production
database. When the observer regains network access to the original production
database, it initiates a request for the Data Guard Broker to automatically reinstate
it as a standby database to the new production database.


Vinod Sadanandan
Oracle DBA
Jan 10 '08 #1
Share this Article
Share on Google+