This content has been marked as final. Show 9 replies
Try to add a static entry in the listener.ora file. You say that LISTENER is the default listener, so try as below:
Once added the above entry, try to reload the listener. Hope it helps !!
SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (SID_NAME=<your exadata SID>) (ORACLE_HOME=<ORACLE_HOME path>) ) )
I think the parameter you're looking for is LISTENER_NETWORKS (http://docs.oracle.com/cd/E14072_01/server.112/e10820/initparams111.htm)
But to go in more detail, I'd need to know a bit more about your network configuration. Why a listener on the management network? (This is not a typical configuration.) What physical networks are configured? Have you configured VIPs on each listener interface? Do you plan to use SCAN? Data guard? What does the TNS entry you're using for listener registration look like?
If you have it, a list of the srvctl commands you used to build out your current configuration (from the Exadata defaults) would be ideal.
The listener runs out of the grid infrastructure home. I have tried to register the services by specifying LOCAL_LISTENER with reference to a network ALIAS in the database Oracle Home tnsnames.ora. I am running three listener, default listener listens to 1521, an additional listener on another IP segment listens to 1522 and one listener from the management network listens to port 1523.Shouldn't you be running the listener from Grid home? anyway for your question it does not matter from which home it is running.
If you want the database to be registered to the default listener (1521) then setting of LOCAL_LISTENER parameter is optional.
could you copy/paste the command you have used to set the value of LOCAL_listener parameter.
Listeners has been created with srvctl and exists in the grid configuration:
[grid@ex0101 ~]$ $ORACLE_HOME/bin/srvctl status listener
Listener LISTENER is enabled
Listener LISTENER is running on node(s): ex0102,ex0101
Listener LISTENER_BIP is enabled
Listener LISTENER_BIP is running on node(s): ex0102,ex0101
Listener LISTENER_MANAG is enabled
Listener LISTENER_MANAG is running on node(s): ex0102,ex0101
TNSPING works from the ORACLE_HOME environment against the LISTENER_AOFDB01 network alias in the tnsnames.ora:
[oracle@ex0101 ~]$ tnsping LISTENER_AOFDB01
TNS Ping Utility for Linux: Version 18.104.22.168.0 - Production on 16-NOV-2012 16:22:34
Copyright (c) 1997, 2011, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ex0101-vip.tv2.no)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = bipex01db-vip.tv2.no)(PORT = 1522)) (ADDRESS = (PROTOCOL = TCP)(HOST = ex01db01-man.tv2.no)(PORT = 1523)))
OK (0 msec)
Obvioisly it registers to the default listener. But I want it registered to the BIP and MANAG listeners aswell. And preferably without doing it the static way.
Here is the network alias from the tnsnames.ora:
(ADDRESS = (PROTOCOL = TCP)(HOST = ex0101-vip.tv2.no)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = bipex01db-vip.tv2.no)(PORT = 1522))
(ADDRESS = (PROTOCOL = TCP)(HOST = ex01db01-man.tv2.no)(PORT = 1523))
The three hosts respolves to VIP adresses defined in /etc/hosts for these hostname. This is the same adresses the various listener listens to.
I belived that the LISTENER_NETWORKS was redundant if LOCAL_LISTENER was used.
A listener on the management network for two reasons.
1) Cloud control lies on this network and we need a listener here to be able to monitor Exadata databases aswell as ASM.
2) I want the log shipping to DR site to be done at this network to avoid it going in and out of firewalls and affecting client public connections.
There are three networks. The public, an additional network segment and the management network. VIP's are configured on each interface. Scan exists out of the box, but are not used. Only exists for default LISTENER.
Data guard exists and are managed by cloud control.
I won't give up all comands for bulding the configuration here. I believe that won't bring us closer to a solution.
Seems like Mark was the guy. Started to do some testing only referring one listener in the network ALIAS for the LOCAL_LISTENER parameter. Than it works. So I tried to add several network aliases for the LOCAL_LISTENER parameter.
That did not work. so I ended up using LISTENER_NETWORKS specifying one named network for each of the listeners and removing the LOCAL_LISTENER parameter from the instance.
That seems to be working.