Monday, January 18, 2010

VIP, Dataguard Broker & RAC

In a RAC environment if VIP isn't used for client connection, it will defeat the whole purpose of using VIPs which give fast notification when a node fails. If not have to wait until a TCP timeout occurs which could take a while.

In RAC if the default listener is on port of 1521, then DBCA will not automatically set
the LOCAL_LISTENER. However it will default to a connection string that refers to the physical host address (not virtual address).

Oracle 11.1.0.7 and above has a new dataguard broker parameter StaticConnectIdentifier StaticConnectIdentifier configurable instance-specific property specifies the connection identifier that the DGMGRL client will use when starting database instances. The default value for this is the concatenation of The ADDRESS attribute value of the listener that is specified for the LOCAL_LISTENER initialization parameter and the value for the SERVICE_NAME attribute will be set to a concatenation of db_unique_name_DGMGRL.db_domain.

Therefore if LOCAL_LISTENER is not set explicitly for VIP address it will use the physical host address. Could be observed with

DGMGRL> show instance "TBXA04B1" StaticConnectIdentifier
StaticConnectIdentifier =
'(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=TBXA04B_DGMGRL)(INSTANCE_NAME=TBXA04B1)(SERVER=DEDICATED)))'


Always better to explicitly set the LOCAL_LISTENER to VIP.

StaticConnectIdentifier is added to 11.1 with the patchset of 11.1.0.7. Documentation of it is available with 11.2