More on tns configurations in the context of Dataguard

From: Charles Schultz <sacrophyte_at_gmail.com>
Date: Fri, 2 Apr 2010 11:18:00 -0500
Message-ID: <r2j7b8774111004020918kee399ac5t2be61120cf136353_at_mail.gmail.com>



Good day, list,

This references some past email exchanges:

Also in reference to:

  • How to configure Client Failover after Data Guard Switchover or Failover (Doc ID 316740.1)
  • Failover Connections for Data Guard Error with ORA-1033 (Doc ID 461874.1)

If I read this all correctly, the favored method to have a single tns connection string point to "both" (assuming two) databases in a DG configuration, you need:

  • the tns string with multiple addresses
  • properly defined service names
  • a trigger that turns the service off in the standby database

So this brings up a question. Let's say, for example, you have 10 services. That means you have to hardcode each of those services in the manage_OCI trigger (from Doc ID 461874.1)? And if you insert/update/delete any of those service names, you have to make appropriate changes to the trigger? Is that not kind of a pain?

Here is where I am going with this. Does not Oracle provide a way to disable *all* services that are registered to the listener when the database is started as a standby? One could add a simple loop in the documented manage_OCI trigger to stop each entry in SERVICE_NAMES, but that seems like a hack. But maybe it is the only hack available to us at this point in time? The Oracle online documentation does not spell out any options for ALL services (too bad DBMS_SERVICE.STOP_SERVICE.SERVICE_NAME cannot be null *grin*). I realize you could do some magic with local_listener, but that seems to overly complicate matters, IMO.

-- 
Charles Schultz

--
http://www.freelists.org/webpage/oracle-l
Received on Fri Apr 02 2010 - 11:18:00 CDT

Original text of this message