Oracle Data Guard - Fast Start Failover Understood!: Dr. Martin Wunderli
Oracle Data Guard - Fast Start Failover Understood!: Dr. Martin Wunderli
Principal Consultant
Partner
Basel · Baden · Bern · Lausanne · Zurich · Düsseldorf · Frankfurt/M. · Freiburg i. Br. · Hamburg · Munich · Stuttgart · Wien
Trivadis Facts & Figures
12 locations
D: Dusseldorf, Frankfurt, Freiburg, Hamburg, Munich, Stuttgart
A: Vienna
CH: Baden, Basle, Bern, Lausanne, Zurich
Consolidated income
CHF 85 million / EUR 53 million
Over 470 employees
Over 450 clients
Over 1‘400 projects per year
Over 110 Service Level Agreements
About 4'000 training participants per year
Conclusion
Data is always
part of the game.
Primary
Standby
Database
Database
Standby
Log Files Archived
Local Log Files
Archiving
Online
Log Files
"
'(
Oracle 7.3: Creating and mounting
a standby database
&
Oracle 8i: Automated archived
redo log transport and application,
TAF, open read-only of standby
database !!" #$$$ #$$ #$$# #$$%
Remember…
Fast Start Failover for Data Guard is not a failover cluster with
Two connections between nodes (network and disk) where the loss
of one connection results in node shutdown
A single location of data files (from the point of view of Oracle
RDBMS)
Conclusion
Data is always
part of the game.
) * + , $
,
alter database mount;
-...
Split Brain!
/ PRIM DB
PRIM DB
More than one primary!
Conclusion
Data is always
part of the game.
Primary Standby
2. Fast-Start-Failover (automatic)
Primary Primary
3. Reinstate (automatic)
Standby Primary
)+ )+
Select fs_failover_status,fs_failover_observer_present
from v$database; -- on primary site
FS_FAILOVER_STATUS FS_FAILOVER_OBSERVER_PRESENT
-------------------- -----------------------------
SYNCHRONIZED NO
0
1&
2
) )+
Select fs_failover_status,fs_failover_observer_present
from v$database; -- on primary site
FS_FAILOVER_STATUS FS_FAILOVER_OBSERVER_PRESENT
-------------------- ----------------------------
STALLED NO
) 3 )+
Select fs_failover_status,fs_failover_observer_present
from v$database; -- on new primary site
FS_FAILOVER_STATUS FS_FAILOVER_OBSERVER_PRESENT
-------------------- ----------------------------
REINSTATE REQUIRED YES
3 )+ 3 )+
Select fs_failover_status,fs_failover_observer_present
from v$database; -- on primary site and standby site
FS_FAILOVER_STATUS FS_FAILOVER_OBSERVER_PRESENT
-------------------- -----------------------------
SYNCHRONIZED YES
4 5 &
% 6
)+ )+
&
)+ )+
Usually it works
If the "disable fast_start failover force" also hangs, kill/start the observer
and restart the new primary instance
cd $ORACLE_BASE/admin/DG1/pfile/
mv dr1DG1.dat dr1DG1.dat.bck
mv dr2DG1.dat dr2DG1.dat.bck
Conclusion
Data is always
part of the game.