Re: Configuring multiple listeners/ports for one RAC database

  • From: Sundar Mahadevan <sundarmahadevan82@xxxxxxxxx>
  • To: Andrew Kerber <andrew.kerber@xxxxxxxxx>
  • Date: Thu, 11 Jun 2015 09:44:45 -0400

Thanks Mark and Andrew. Sorry for the late reply. I like the idea of using
service_names. Here is the what i believe i should do. Please correct me if
i am wrong.

I currently have listener on scan hostname/ip on port 1521. Just stick with
one listener and there is no need for more listeners.
alter system set service_names='service1,service2,service3' scope=both
sid='*';
I did confirm that ISSYS_MODIFIABLE=IMMEDIATE for parameter service_names.
So the change to service_names would take effect immediately.
Now all services service1,service2,service3 will be served. In
tnsnames.ora, I should use service1/2/3 from the applications instead of
SID.
If i wanted to remove service3, i just run alter system set
service_names='service1,service2' scope=both sid='*';
Clients using service_name=service3 in tnsnames.ora will no longer be able
to connect.

Thanks again for your help.

On Wed, Jun 3, 2015 at 1:14 PM, Andrew Kerber <andrew.kerber@xxxxxxxxx>
wrote:

You just do something like this if you really want to use multiple ports
rather than multiple services:




Tnsnames:

LISTENER_EG =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = vmrh65node1
<http://vmrh65node1.awddev.dstcorp.net/>)(PORT = 1520))

(ADDRESS = (PROTOCOL = TCP)(HOST = vmrh65node1
<http://vmrh65node1.awddev.dstcorp.net/>)(PORT = 1522))

(ADDRESS = (PROTOCOL = TCP)(HOST = vmrh65node1
<http://vmrh65node1.awddev.dstcorp.net/>)(PORT = 1523))

(ADDRESS = (PROTOCOL = TCP)(HOST = vmrh65node1
<http://vmrh65node1.awddev.dstcorp.net/>)(PORT = 1524))

(ADDRESS = (PROTOCOL = TCP)(HOST = vmrh65node1
<http://vmrh65node1.awddev.dstcorp.net/>)(PORT = 1525))

)



Listener.ora:

LISTENER_EG =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))

(ADDRESS = (PROTOCOL = TCP)(HOST = vmrh65node1
<http://vmrh65node1.awddev.dstcorp.net/>)(PORT = 1520))

(ADDRESS = (PROTOCOL = TCP)(HOST = vmrh65node1
<http://vmrh65node1.awddev.dstcorp.net/>)(PORT = 1522))

(ADDRESS = (PROTOCOL = TCP)(HOST = vmrh65node1
<http://vmrh65node1.awddev.dstcorp.net/>)(PORT = 1523))

(ADDRESS = (PROTOCOL = TCP)(HOST = vmrh65node1
<http://vmrh65node1.awddev.dstcorp.net/>)(PORT = 1524))

(ADDRESS = (PROTOCOL = TCP)(HOST = vmrh65node1
<http://vmrh65node1.awddev.dstcorp.net/>)(PORT = 1525))

)

Lsnrctl start listener_eg

SQL> Alter system set local_listener=listener_eg;

Sent from my iPad

On Jun 3, 2015, at 10:56 AM, Sundar Mahadevan <sundarmahadevan82@xxxxxxxxx>
wrote:

Hi All,
Greeting. I am trying to configure multiple listeners (atleast 4) for one
RAC database. The requirement is that 4 applications/users will be
configured to use different listeners/ports and I must be able to bring
down one listener/port and the others will still be able to function. I
read oracle support note 1585786.1 (Note 5 on Adding additional node
listeners to the system using different ports) which suggests to add a node
listener on a different port and set the local listener. If i set
local_listener to use port 1522 (lets assume current is 1521) and register
the database with the listener on port 1522, will i still be able to
connect to 1521? And can i do this for 4 listeners and be able to achieve
my requirement. Many thanks for your time and help. Appreciate it.


Other related posts: