You have the correct concept, but look at defining and reconfiguring
services via srvctl, rather that update service_names directly.
-Mark
On Thu, Jun 11, 2015, 9:45 AM Sundar Mahadevan <sundarmahadevan82@xxxxxxxxx>
wrote:
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.