Currently we are moving user acceptance testing db’s from regular single instances with ZFS cross-site mirroring to Super Cluster with RAC One and Data Guard.
The initial setup of this was finished a couple of months ago
and apart from Martin Bach (@MartinDBA) suggestions here and here and in real life together with Marcin Przepiorowski (@pioro) in Ireland in march last year.
I also used following metalink note
This exactly looked like what happened I could easily reproduce this by removing listener_networks The workaround suggested was to put the nodeVIP as local listener, but that wasn’t what the dgbroker wanted because it’s static connect identifier was set to the this VIP …and I want to avoid at all cost to modify it after role changes or relocates of the Rac One instances. so I finally changed the LISTENER_NETWORKS parameter from ((NAME=network1)(LOCAL_LISTENER=RACONE)(REMOTE_LISTENER=scan01-uat:1521)), ((NAME=network_dg)(LOCAL_LISTENER=DG_VIP)(REMOTE_LISTENER=REMOTE_NET2)) To this : ((NAME=network1)(LOCAL_LISTENER=NODE_VIP,RACONE)(REMOTE_LISTENER=scan01-ora:1521)), ((NAME=network_dg)(LOCAL_LISTENER=DG_VIP)(REMOTE_LISTENER=REMOTE_NET2)) |
Note that NODE_VIP , RACONE , DG_VIP and REMOTE_NET2 resolve differently on each node in the RAC One Cluster.
DG_VIP, NODE01_LOCAL_NET2=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = node01dg-vip)(PORT = 1522))
)
DG_VIP, NODE02_LOCAL_NET2=
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = node02dg-vip)(PORT = 1522))
)
...
eg
alter system set listener_networks='(NAME=network1)(LOCAL_LISTENER=NODE_VIP,RACONE)(REMOTE_LISTENER=scan01-ora:1521))’, ‘((NAME=network_dg)(LOCAL_LISTENER=DG_VIP)(REMOTE_LISTENER=REMOTE_NET2))’;
For the time being I left the remote_listener as is and will test on newly created databases in order to remove it from already migrated uat databases…
Thanks Freek , Martin and Marcin for your insights 😉 you guys rock !
PS I the host names in this blogpost are made up for privacy reasons .