RE: DataGuard

  • From: Boris Dali <boris_dali@xxxxxxxx>
  • To: Laimutis.Nedzinskas@xxxxxxxxxxxxx, oracle-l@xxxxxxxxxxxxx
  • Date: Fri, 19 Jan 2007 09:17:38 -0500 (EST)

Laimutis,

Please see some comments in line

--- Laimutis Nedzinskas
<Laimutis.Nedzinskas@xxxxxxxxxxxxx> wrote:

> >From: Boris Dali [mailto:boris_dali@xxxxxxxx] 
> >'Split-brain' scenario of having more than one
> database accepting connections in a broker
> configuration is prevented by the rule that two
> out of three participants in the broker config
> should agree before failover is attempted

>
----------------------------------------------------->
I was asking about a different scenario:
> 
> Assume Observer misses network connection to the
> Primary for whatever reason. Will it assume the
> Primary dead? It should I believe. This is
> the whole purpose of it. What then prevents client A
> to connect to the Standby (which is opened
> as the Second Primary now) and client B to the
> Primary(the First Primary)?


Please consider the following two points:

1/ At least in our case observer communicates to the
primary using the same network path as the users.
Observer doesn't reach primary, users don't reach
primary. It's that simple.

2/ 'Rule of two' I mentioned earlier still applies.
Not only observer has to loose the connection to
primary (one network path), but also the target
standby (another/internal network path). Only if both
agree FSFO is attempted and users get a chance to
connect to the new primary


> The question is: how Observer is able to detect that
> standby is actually synchronized with the primary?
> What standby needs to know is that primary was not
> operating in the downgraded Maximum Performance mode
> before its death. Is this information available on
> the standby DB?

I believe the target standby needs to know that all
transactions committed on primary have been applied on
this standby. Up to the last committed SCN. And yes
this information is readily available at the standby.
I haven't traced the observer, but it would stand for
a reason to think that it simply queries
v$database.fs_failover_status, which should return the
value of "SYNCHRONIZED" for the FSFO to be considered


Thanks,
Boris Dali.


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
--
//www.freelists.org/webpage/oracle-l


Other related posts: