RE: Switchover of Logical Standby database

From: Mathias Zarick <Mathias.Zarick_at_trivadis.com>
Date: Sun, 18 Dec 2011 09:28:37 +0000
Message-ID: <DA06C082C7430A439612B1F8B412F5884C822C21_at_SMXC001.trivadis.com>



Hi Gerry,

try this in your after role change trigger: DBMS_SERVICE.STOP_SERVICE('YOUR_SERVICE'); DBMS_SERVICE.DISCONNECT_SESSION('YOUR_SERVICE',DBMS_SERVICE.IMMEDIATE); HTH Mathias

-----Original Message-----
From: oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Gerry Miller Sent: Saturday, December 17, 2011 12:08 AM To: CRISLER, JON A
Cc: oracle-l_at_freelists.org
Subject: Re: Switchover of Logical Standby database

 Hi Jon
Thanks for your response.

The clients connect via tnsnames, which is set up for CTF and TAF. I originally created a physical configuration, which I tested for TAF and when a switchover was performed it worked as I expected: a session that was running a query on the original primary ran to completion on the new primary. I then converted the physical standby to a logical standby, dropping and recreating the data guard broker configuration accordingly and switchover and failover worked.

In the physical configuration I had TAF configured via tnsnames: ORCL =
  (DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP) (HOST = server1) (PORT = 1521) )
(ADDRESS = (PROTOCOL = TCP) (HOST = server2) (PORT = 1521) )
(CONNECT_DATA = (SERVICE_NAME=ORCL_PRIMARY)
      (FAILOVER_MODE= (TYPE=SELECT) (RETRIES=1000) (DELAY=60) (METHOD=BASIC) ) ) )
and started the ORCL_PRIMARY service via a database startup trigger. In the logical configuration I added a trigger to stop and start the service on db_role_change. Both of these triggers function as expected.

The fact that the databases are not restarted on a logical standby switchovermakes me wonder when TAF is supposed to occur. At no time does the client session lose connection, which is the point at which it would be redirected to the primary database service via tnsnames. Even in the case ofa logical standby failover the original primary database is still up and running (albeit as a disabled standby) and connections persist. It seems to me that a restart of at least the logical standby is required to cause TAF.

This behaviour occurs not only via the application but also from a sqlplus session on the database server, so it is not a client configuration issue. Active Dataguard is not an option as we are on 10g.

Regards

Gerry

CRISLER, JON A wrote: Are your clients configured with connect strings (jdbc or tnsnames) where both primary and standby sides are defied? Also is your app TAF compliant? And are you using Active Dataguard ? I suspect more a client configuration issue. I have seen funny behavior like this when older clients are connecting to new databases, or bugs in the client side. This is why one should make sure that the client is upgraded to the same level as thedb. We have numerous configurations on 10g Dataguard, 1 primary and 2 standby, and the sessions re-establish to the correct primary database- however they are not TAF compliant so it requires a restart of the app. -----Original Message----- From: oracle-l-bounce_at_freelists.org[1] [mailto:oracle-l-bounce_at_freelists.org[2]] On Behalf Of Gerry Miller Sent: Friday, December 16, 2011 12:24 AM To: oracle-l_at_freelists.org[3] Subject: Switchover of Logical Standby database Hi I have had some experience with physical standby databases and the Data Guard broker but have recently been asked to implement a logical standby on 10.2.0.4 on Windows 2008 Server. I was quite surprised to find that when a switchover or failover is performed that the databases are not shutdown, which results in a faster operation. However, I was perturbed to find that any sessions that were originally on the primary remained on the same database, that is, ended up on the standby database, when I would have expected them to be on the new primary. Queries can still be executed but any attempts at DML result in : "ORA-16224 DatabaseGuard is enabled". This seems an unlikely situation and I can't help but feel that I must have something wrong with the configuration, although I can't imagine that it would work at all if that were the case. Is this the expected behaviour or should the sessions have transferred during the switchover? Regards Gerry -- http://www.freelists.org/webpage/oracle-l[4]

--
http://www.freelists.org/webpage/oracle-l
Received on Sun Dec 18 2011 - 03:28:37 CST

Original text of this message