Data Guard
uses two terms when cutting over the standby server, switch-over which
is a planned and failover which a unplanned event .
What happens during a switchover is the following :
1.) Notifies the primary database that a switchover is about to occur
2.) Disconnect all users from the primary database
3.) Generate a special redo record that signals the End of Redo (EOR)
4.) Converts the primary database into a standby database
Hence finally we come to conclusion that the order to setup Data Guard is the following :
1.) Switchover: Switchover
is a planned event, it is ideal when we might want to upgrade the
primary database or change the storage/hardware configuration (add
memory, cpu networking), we may even want to upgrade the configuration
to Oracle RAC .
1.) Notifies the primary database that a switchover is about to occur
2.) Disconnect all users from the primary database
3.) Generate a special redo record that signals the End of Redo (EOR)
4.) Converts the primary database into a standby database
5.) Once
the standby database applies the final EOR record, guaranteeing that no
data loss has been lost, converts the standby database into the primary
database.
The
new standby database (old primary) starts to receive the redo records
and continues process until we switch back again. It is important to
remember that both databases receive the EOR record so both databases
know the next redo that will be received. Although we can have users
still connecting to the primary database while the switchover occurs
(which generally takes about 60 seconds) I personal have a small outage
just to be on the safe side and just in case things don't go as smoothly
as I hoped.
We
can even switch over form a linux database to a windows database from a
64 bit to a 32 bit database which is great if we want to migrate to a
different O/S of 32/64 bit architecture, also our rollback option is
very easy simply switchback if it did not work.
2.) Failover: Failover
is a unplanned event, this is where the EOR was never written by the
primary database, the standby database process what redo it has then
waits, data loss now depends on the protection mode in affect .
- Maximum Performance - possible chance of data loss
- Maximum Availability - possible chance of data loss
- Maximum Protection - no data loss
we
have the option to manually failover or make the whole process
automatic, manual gives the DBA maximum control over the whole process
obliviously the the length time of the outage depends on getting the DBA
out of bed and failing over. Otherwise Oracle Data Guard Fast-Start
Failover feature can automatically detect a problem and failover
automatically for us. The failover process should take between 15 to 25
seconds.
Which Role Transition Operation Should I Use ?
When
faced with the decision on which role transition is best for the given
situation, we need to always choose one that best reduces downtime and
has the least potential for data loss. Also to consider is how the
change will affect any other standby database in the configuration. We
should consider the following when making the decision on which
operation to use:
- What is the current state of the primary database just before the transition? Is it available?
- What is the state of the selected standby database to be used in the role transition at the time of transition?
- Is the standby database configured as a physical or logical standby database?
The following decision tree can be used to assist when making this critical decision as to which operation to perform:
One
key point to consider is that if it would be faster to repair the
primary database (from failure or a simple planned hardware/software
upgrade), the most efficient method would be to perform the tasks and
then to bring up the primary database as quickly as possible and not
perform any type of role transition. This method can impose less risk to
the system and does not require any client software to be
re-configured.
Another
consideration involves a Data Guard configuration which includes a
logical standby database. A switchover operation can be performed using
either a physical or logical standby database. Take note, however, of
the following issues you may run in to regarding physical and logical
standby configurations. If the configuration includes a primary, a
physical standby, and a logical standby, and a switchover is performed
on the logical standby, the physical standby will no longer be a part of
the configuration and must be rebuilt. In the same scenario, if a
switchover operation is performed on the physical standby, the logical
standby remains in the Data Guard configuration and does not need to be
rebuilt. Obviously, a physical standby is a better option to be a
switchover candidate than a logical standby when multiple standby types
exist in a given configuration.
Hence finally we come to conclusion that the order to setup Data Guard is the following :
- The primary database is up and running
- Create a standby database
- Setup the redo transport rules
- Create the SRL files
- Execute one of the Following
SQL> Alter
database set standby to Maximum Performance; //(Default)
SQL> Alter
database set standby to Maximum Availability;
SQL> Alter
database set standby to Maximum Protection;