Re: Questions re LOCAL_LISTENER & REMOTE_LISTENER

  • From: "goran bogdanovic" <goran00@xxxxxxxxx>
  • To: wjwagman@xxxxxxxxxxx
  • Date: Sun, 18 Nov 2007 14:51:42 +0100

In addition to server side-load balancing you have two options:
- CPU runqueue-based load balancing
- or round-robin balancing

in order to configure this you should set in your listener.ora the parameter

prefer_least_loaded_node_<listerer name>=off

For applications that connect at startup time only and not frequently
reconnecting, switch this parameter off will give you an 'almost' :-) even
connection distribution across all nodes.

regards,
goran

On Nov 17, 2007 2:20 PM, Andreas Piesk <a.piesk@xxxxxxx> wrote:

> William Wagman schrieb:
> >
> > And the mirror image on node 2. This is puzzling to me as the
> > tnsnames.ora listed in example 9.1 of the Real Application Clusters
> > Installation guide looks like the one I currently have. I think my lack
> > of understanding has to do with how the local and remote listener
> > parameters function so if someone could help me in my understanding I
> > would be most grateful.
>
> you're right, LOCAL_LISTENER on each node should point to the listener
> on that node. REMOTE_LISTENER should point to all listeners on all nodes
> if you want server side load balancing, otherwise don't set
> REMOTE_LISTENER.
>
> so to make your configuration right, you should setup it like this:
>
> node1:
>
> LOCAL_LISTENER_NODE1 =
>  (ADDRESS_LIST =
>    (ADDRESS =
>      (PROTOCOL = TCP)
>      (HOST = node1-vip)
>      (PORT = 1521)
>    )
>  )
> REMOTE_LISTENERS =
>  (ADDRESS_LIST =
>    (ADDRESS =
>      (PROTOCOL = TCP)
>      (HOST = node1-vip)
>      (PORT = 1521)
>    )
>    (ADDRESS =
>      (PROTOCOL = TCP)
>      (HOST = node2-vip)
>      (PORT = 1521)
>    )
>  )
>
> LOCAL_LISTENER=LOCAL_LISTENER_NODE1
> REMOTE_LISTENER=REMOTE_LISTENERS
>
>
> node2:
>
> LOCAL_LISTENER_NODE2 =
>  (ADDRESS_LIST =
>    (ADDRESS =
>      (PROTOCOL = TCP)
>      (HOST = node2-vip)
>      (PORT = 1521)
>    )
>  )
> REMOTE_LISTENERS =
>  (ADDRESS_LIST =
>    (ADDRESS =
>      (PROTOCOL = TCP)
>      (HOST = node1-vip)
>      (PORT = 1521)
>    )
>    (ADDRESS =
>      (PROTOCOL = TCP)
>      (HOST = node2-vip)
>      (PORT = 1521)
>    )
>  )
>
> LOCAL_LISTENER=LOCAL_LISTENER_NODE2
> REMOTE_LISTENER=REMOTE_LISTENERS
>
>
> on a 2-node cluster your REMOTE_LISTENER can point to a single listener
> but i find it easier to keep REMOTE_LISTENER identical on all nodes.
>
> the purpose of REMOTE_LISTENER is to connect all instances with all
> listeners so the instances can propagate their load balance advisories
> to all listeners. if you connect to a listener, this listener uses the
> advisories to decide who should service your connect. if the listener
> decides its local instance(s) are least loaded and should service your
> connect it passes your connect to the local instance. if the node you
> connected to is overloaded, the listener can use TNS redirect to
> redirect your connect a less loaded instance.
>
>
> regards,
> -ap
> --
> //www.freelists.org/webpage/oracle-l
>
>
>

Other related posts: