Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Listener problem on 10g - db registration on non-default listeners??
On Thu, 02 Mar 2006 14:41:24 -0800, BD wrote:
> Can anyone see what I'm missing?
Yes. You are missing dispatchers. For Oracle*Listener to be busy and not go jobless, there must be database dispatchers configured. What listener calls "services" are, in fact, dispatchers. So, if you start with defining listener which is local for your database like this:
SQL> alter system set local_listener='O10G' scope=both;
System altered.
Here, O10G is a TNS entry in the TNSNAMES.ORA or LDAP which points to the right listener.
You should then define dispatchers like this: SQL> alter system set dispatchers='(PROTOCOL=TCP)(SERVICE=oracle)(DISPATCHERS=3)';
System altered.
Service parameter should be one of the names from "SERVICE_NAMES" parameter. Then you register those dispatchers with the listener: SQL> alter system register;
Listener will show the presence of the new services:
LSNRCTL for Linux: Version 10.2.0.2.0 - Production on 02-MAR-2006 22:38:14
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=10G))) STATUS of the LISTENER
Alias LISTENER Version TNSLSNR for Linux: Version 10.2.0.2.0 - Production Start Date 02-MAR-2006 22:24:04 Uptime 0 days 0 hr. 14 min. 10 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /oracle/product/10g/network/admin/listener.ora Listener Log File /oracle/product/10g/network/log/listener.logListening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=10G))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=medo.noip.com)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))Services Summary...
Service "oracle" has 2 instance(s). Instance "10G", status UNKNOWN, has 1 handler(s) for this service... Instance "10G", status READY, has 4 handler(s) for this service...The command completed successfully
You can then add some services for another protocol: SQL> alter system set dispatchers='(PROTOCOL=IPC)(SERVICE=oracle)(DISPATCHERS=5)';
System altered.
SQL> alter system register;
System altered.
and the number of services will continue to grow:
$ lsnrctl services
LSNRCTL for Linux: Version 10.2.0.2.0 - Production on 02-MAR-2006 22:41:44
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=10G)))
Services Summary...
Service "10G" has 1 instance(s).
Instance "10G", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
Service "10G_XPT" has 1 instance(s).
Instance "10G", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Service "oracle" has 2 instance(s).
Instance "10G", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Instance "10G", status READY, has 9 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: medo.noip.com, pid: 20374> (ADDRESS=(PROTOCOL=tcp)(HOST=medo.noip.com)(PORT=50925))The command completed successfully
"DEDICATED" established:0 refused:0 state:ready
LOCAL SERVER
"D011" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: medo.noip.com, pid: 20526> (ADDRESS=(PROTOCOL=tcp)(HOST=medo.noip.com)(PORT=34388))
"D012" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: medo.noip.com, pid: 20528> (ADDRESS=(PROTOCOL=tcp)(HOST=medo.noip.com)(PORT=34910))
"D016" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: medo.noip.com, pid: 20544> (ADDRESS=(PROTOCOL=ipc)(KEY=#20544.1))
"D014" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: medo.noip.com, pid: 20540> (ADDRESS=(PROTOCOL=ipc)(KEY=#20540.1))
"D013" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: medo.noip.com, pid: 20538> (ADDRESS=(PROTOCOL=ipc)(KEY=#20538.1))
"D017" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: medo.noip.com, pid: 20546> (ADDRESS=(PROTOCOL=ipc)(KEY=#20546.1))
"D015" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: medo.noip.com, pid: 20542> (ADDRESS=(PROTOCOL=ipc)(KEY=#20542.1))
As you can see, we have 3 TCP dispatchers 5 IPC dispatchers and a "local
server", 9 services altogether. That's precisely what lsnrctl stat will
tell me:
$ lsnrctl stat
LSNRCTL for Linux: Version 10.2.0.2.0 - Production on 02-MAR-2006 22:43:13
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=10G))) STATUS of the LISTENER
Alias LISTENER Version TNSLSNR for Linux: Version 10.2.0.2.0 - Production Start Date 02-MAR-2006 22:24:04 Uptime 0 days 0 hr. 19 min. 9 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /oracle/product/10g/network/admin/listener.ora Listener Log File /oracle/product/10g/network/log/listener.logListening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=10G))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=medo.noip.com)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC0)))Services Summary...
Service "oracle" has 2 instance(s). Instance "10G", status UNKNOWN, has 1 handler(s) for this service... Instance "10G", status READY, has 9 handler(s) for this service...The command completed successfully
That is probably described in concepts manual, dba guide and net manual. Some reading would probably be a good idea. Now, you are ready to set 4 way RAC with server based load balancing and redundant listeners. May the force be with you.
-- http://www.mgogala.comReceived on Thu Mar 02 2006 - 21:50:23 CST