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

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Any way to run more than listener on the same port?

Re: Any way to run more than listener on the same port?

From: Mark Bole <makbo_at_pacbell.net>
Date: Mon, 21 Mar 2005 12:07:05 -0800
Message-ID: <423F2969.9020801@pacbell.net>


It's been a few years since I've worked with HP Service Guard, but Veritas VCS is very similar.

I am pretty sure the problem mentioned below for HP Service Guard will *not* happen if you explicitly configure the address for each listener, whether it is part of package ("floating" address) or static on a given server. If you don't explicitly configure the listening TCP/IP address, then yes, I do recall by default it will listen on all addresses which are available at the time the listener is started.

Here is an example where two listeners each listen on two different IP addresses (total of four), all using port 1521, and two different IPC (shared memory) "addresses" (total two). Both listeners can run on the same physical server, in other words there could be four unique combinations of IP address and port 1521. Or, of course, they could each run on two different servers. In this example, each host in a two-node VCS cluster is multi-homed on two physically separate subnets, which is why each listener has two addresses. The listener.ora file is identical on each server.

=============[listener.ora file]==================
LISTENER1 =
   (ADDRESS_LIST=
         (ADDRESS=(PROTOCOL=tcp)(HOST=addr1a)(PORT=1521))
         (ADDRESS=(PROTOCOL=tcp)(HOST=addr1)(PORT=1521))
         (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY1)))

LISTENER3 =
   (ADDRESS_LIST=

         (ADDRESS=(PROTOCOL=tcp)(HOST=addr3a)(PORT=1521))
         (ADDRESS=(PROTOCOL=tcp)(HOST=addr3)(PORT=1521))
         (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY3)))
==================================================

This is the same concept as virtual HTTP server addresses, all listening on port 80 but using different IP addresses on the same physical server.

-- 
Mark Bole
http://www.bincomputing.com



Adams, Matthew (GE Consumer & Industrial) wrote:


> This actually can work real nice if set up correctly.
>
> The following discussion is relevant to HP and may or=20
> may not apply the architecture you are using.
>
> On hp, when using service guard for clustering, units of=20
> work called packages are allowed to failover between servers.
>
> Each package has a distinct name and IP address. When you are running
> many packages on a server (each with their own set of databases),
> you can either have a single listener
> that listens all the time for DBs that on that server (dynamicall =
> registering
> and de-registering as they enter or leave a particular cluster) or
> you can set up a listener for each package, which listens on the IP =
> address
> of the package, not the IP address of the server. All of these =
> listeners
> can listen on port 1521 for their own IP address with interfering with =
> each other
>
> There is one VERY important caveat to this. If you are running =
> idividual listeners
> on the IP address of the packages, you CANNOT run an additional listener =
> that listens
> on the server IP address. I'm not sure how it works under the covers, =
> but it=20
> appears that if you run a listener configured to listen on the IP =
> address of the=20
> server, it does a 'lanscan' or something equivalent, finds out all the =
> IP address
> being served by the machine (even the package IP address) and will start =
> listener to=20
> port 1521 on EVERY ip address served by the machine. This interferes =
> with the package
> specific listeners.
>
> This behavior was observed on 8.1.7 and 9.2.0
>
> Therefore, you limit the listeners to ONLY listening on package address =
> and not on
> the server address. This means, essentially, that all databases have to =
> be in
> a package and have their own listener (at least if they are going to be =
> on
> a machine in an HP service guard cluster)
>
> -----Original Message-----
> From: oracle-l-bounce_at_freelists.org
> [mailto:oracle-l-bounce_at_freelists.org]On Behalf Of
> JayMiller_at_TDWaterhouse.com
> Sent: Monday, March 21, 2005 1:18 PM
> To: oracle-l_at_freelists.org
> Subject: Any way to run more than listener on the same port?
>
>
> Hi,
>
> For portability reasons our Unix SAs would like us to run one listener /
> instance on the same port of each server.
>
> While I have no problem setting up one listener for two instances or two
> listeners on different ports I had been under the impression (born out =
> by
> preliminary experimentation) that you couldn't have more than one =
> listener
> on the same port.
>
> The Unix SAs say that since they've set up separate Virtual IP Addresses =
> for
> each instance we should be able to get it to work.
>
> Anyone have any experience with this? Is it possible?
>
> Thanks,
> Jay Miller
> --
> http://www.freelists.org/webpage/oracle-l
>
> --
> http://www.freelists.org/webpage/oracle-l
>
-- http://www.freelists.org/webpage/oracle-l
Received on Mon Mar 21 2005 - 15:28:34 CST

Original text of this message

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