Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Setting up two listeners

Re: Setting up two listeners

From: Van Messner <vmessner_at_netaxis.com>
Date: Fri, 17 Sep 1999 16:23:35 -0400
Message-ID: <frxE3.17037$N77.1243454@typ11.nn.bcandid.com>


Here are the steps I took to set up two listeners on a Novell server running 7.3.4 databases.
The ideas are the same for different OS's and different Oracle versions.

Van

Listeners - Multiple Novell

 Oracle creates a listener with an IPC protocol connection and an SPX protocol connection automatically when you upgrade or install. The name of the listener is LISTENER. You must always have one listener in your server-side listener.ora file named LISTENER. You can add others as you wish. Most places do not run with multiple listeners but Jack wanted to know if we could. He wanted to have two network cards in one server, each with its own IP address. Then he wanted to be able to connect to the Oracle instance using whichever IP address he chose.  To do this at the ldcwlt88 prompt I issued load lsnrctl to get to the listener control utility. [Typing help gives you a list of commands, most of which can take an argument. If you use no argument, Oracle assumes you are referring to the default listener LISTENER. Thus "start mylist" starts a listener called mylist. Typing "start" without an argument starts the listener LISTENER.] At the lsnrctl prompt I typed stop to shut down the running listener.
 Back at the ldcwlt88 prompt I typed easycfg to bring up the EasyConfig program. There were several configurations already present and I added three more for the second listener - one for SPX, one for IPC and one for TCP/IP. Then I exited easycfg.
 At my workstation I modified the server-side listener.ora file by hand. The pieces shown below in blue italics were things I had to add. EasyConfig does not add the second listener name or the block which associates that listener with a SID.

LISTENER =
  (ADDRESS_LIST =

     (ADDRESS =

(PROTOCOL = IPC)
(KEY = LDCWLT88_LSNR)
) (ADDRESS =
(PROTOCOL = SPX)
(SERVICE = LDCWLT88_LSNR)
) (ADDRESS =
(PROTOCOL = TCP)
(HOST = 10.2.88.1)
(PORT = 1521)
)

  )
NEWLIST1 =
  (ADDRESS_LIST =
     (ADDRESS =

(PROTOCOL = IPC)
(KEY = LDCWLT8A_LSNR)
) (ADDRESS =
(PROTOCOL = SPX)
(SERVICE = LDCWLT8A_LSNR)
) (ADDRESS =
(PROTOCOL = TCP)
(HOST = 111.111.111.88)
(PORT = 1521)
)

  )
STARTUP_WAIT_TIME_LISTENER = 0
CONNECT_TIMEOUT_LISTENER = 10
TRACE_LEVEL_LISTENER = OFF
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = ORCL)
      (ORACLE_HOME = SYS:ORANW734)

    )
  )
SID_LIST_NEWLIST1 =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = ORCL)
      (ORACLE_HOME = SYS:ORANW734)

    )
  )
#EZCFG_VER=1.1.0.0.0  One issue still remained. When you unload and load the database, the scripts we use start the listener on the server. But only the default listener LISTENER is started. I wanted them both to start. So I modified the scripts "oraunld", "oraload" and the ones they call "stop.sql" and "startup.sql" as shown below to force the second listener to start.  Afterwards I tested stopping and starting up the database with either one or both listeners stopped. I wanted to make sure that on startup I could connect to both IP addresses at will. Then Mike pulled the first network card from the server and I tested that I could still connect through the second IP address. This simulates the way things will go in production. Jack will add a second network card to the production server and I will set up a second listener. Then Jack will modify client machines a few at a time to point to the second listener. During this time some users will still be pointing to the first listener. After all client machines are modified we will remove the original network card. If we wish we can change the server-side listener.ora, tnsnames.ora and sqlnet.ora files to remove pointers to the original network card/IP address.

ORAUNLD.NCF

#
# .NCF file to unload Oracle73 modules.
#
# UNLOAD SPXSRV                          # SQL*NET V1 (SPX)
# UNLOAD SQLSPX                          # SQL*NET V1 (SPX)
# UNLOAD TCPSRV                          # SQL*NET V1 (TCP)
# UNLOAD SQLTCP                          # SQL*NET V1 (TCP)
# UNLOAD TNSLSNR                         # SQL*NET V2
# UNLOAD ORACLE73                        # Oracle7
# UNLOAD ORATK2                          # Oracle7
# UNLOAD SQLTNS                          # SQL*NET V2
# UNLOAD NTS                             # SQL*NET V2
# UNLOAD NTP                             # SQL*NET V2
# UNLOAD NTIUS                           # SQL*NET V2
# UNLOAD IPC.MPM                         # SQL*NET V2
# UNLOAD IPC                             # SQL*NET V2
# UNLOAD NTIT                            # SQL*NET V2
# UNLOAD NTAT                            # SQL*NET V2
# UNLOAD ORADRV                          # Oracle7
# UNLOAD TNSLIB                          # SQL*NET V2
# UNLOAD ORARUN                          # Utility for Loading ORACLE
# UNLOAD CORE35                          # Oracle7
# UNLOAD TNSDUM                          # Oracle7
LOAD SVRMGR @SYS:\ORANW734\NLM\STOP.SQL STOP.SQL
connect internal/oracle
shutdown immediate

ORALOAD.NCF

#
# .NCF file to load modules needed by Oracle7.
#
# First load the NetWare modules and patches required by Oracle7 for
# running on a NetWare 3.12 server.
# NOTE: These modules will vary depending on your NetWare version, so
# if you upgrade your server, you may need to modify this section.
# Refer to the"Oracle7 Server for NetWare Installation and User's
# Guide" for specifics.

LOAD CLIB
LOAD MATHLIB
LOAD DIRECTFS
LOAD AFTER311
LOAD ORARUN
#
# Load the Oracle7 Server NLM.
#

ORLOAD -s20 SYS:ORANW734\NLM\ORACLE73
#
# Load the ORACLE NetWare SPX Server.
#
# SQLNET V1
# LOAD SPXSRV
#
# SQLNET V2

ORLOAD -s10 TNSLSNR
LOAD LSNRCTL START NEWLIST1
LOAD SVRMGR @SYS:\ORANW734\NLM\STARTUP.SQL STARTUP.SQL
connect internal/oracle
startup pfile=sys:oranw734\database\initorcl.ora

Kenneth C Stahl <BlueSax_at_Unforgettable.com> wrote in message news:37E295BA.C0238D71_at_Unforgettable.com...

> Does anyone have an example of a listener.ora in which there are
> different listeners configured for different databases? I currently have
> two instances running on a machine but am using the same listener for
> both of them. The problem is, if something goes wrong with one database
> it causes the listener to hang for the other database. I think that if I
> configure a seperate listener for each database then they will work
> totally independent of each other and I can take the database and the
> associated listener down without effecting the other database/listener.
>
> If you could, put the example in an attachment in a message posted here
> to the newsgroup.  Thanks.
>


Received on Fri Sep 17 1999 - 15:23:35 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US