Re: Switchover of Logical Standby database
- From: Gerry Miller <gerry@xxxxxxxxxxxxxxxxxxx>
- To: Mathias Zarick <Mathias.Zarick@xxxxxxxxxxxx>
- Date: Mon, 19 Dec 2011 06:05:25 +1000
Thanks Mathias. I had just stumbled upon this myself and it is the way
to go.
I have never found TAF very well documented and remember having to
discover for myself the use of startup triggers in a physical standby
configuration.
Thanks again
Gerry
Mathias Zarick wrote:
> 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@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On
> Behalf Of Gerry Miller
> Sent: Saturday, December 17, 2011 12:08 AM
> To: CRISLER, JON A
> Cc: oracle-l@xxxxxxxxxxxxx
> 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@xxxxxxxxxxxxx[1]
> [mailto:oracle-l-bounce@xxxxxxxxxxxxx[2]] On Behalf Of Gerry Miller Sent:
> Friday, December 16, 2011 12:24 AM To: oracle-l@xxxxxxxxxxxxx[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]
>
>
> --- Links ---
> 1 mailto:oracle-l-bounce@xxxxxxxxxxxxx
> 2 mailto:oracle-l-bounce@xxxxxxxxxxxxx
> 3 mailto:oracle-l@xxxxxxxxxxxxx
> 4 http://www.freelists.org/webpage/oracle-l
> --
> http://www.freelists.org/webpage/oracle-l
>
>
>
>
--
http://www.freelists.org/webpage/oracle-l
Other related posts: