Re: Serious listener problem - can anyone help?

  • From: Martin Berger <martin.a.berger@xxxxxxxxx>
  • To: oracle@xxxxxxxxxxxxxxx
  • Date: Fri, 10 May 2013 21:52:07 +0200

Norman,
I try to summarize what's going on in the different components involved.

oratab file:
========

the oratab file is (only) important when connecting sqlplus directly to the
instance. (especially at startup!)
it is not read by sqlplus directly but by oraenv. So if you set ORACLE_HOME
and ORACLE_SID manually, oratab is not involved at all.
Everytime sqlplus tries to directly connects to an instance it calculates a
hash value from ORACLE_HOME and ORACLE_SID and connects to this value (I'm
quite sure it's the semaphor which is the magic piece here, but I can't
prove it right now).
This is done also at startup - and ALL subsequent started proceses for this
instance are using this ORACLE_HOME & ORACLE_SID tuple.

listener:
======

every time (MTS / shared server is different => out of scope here) a client
wants to connect to an instance using a listener the listener does quite
the same as sqlplus does described ago: calculating a hash value for the
particular instance, creates a new process which connects to this instance
and link the clients network socket to this particular process (this step
is not needed for local sqlplus).
The listener can get informations about ORACLE_HOME & ORACLE_SID from
listener.ora (in case of SID_LIST) or pmon (in case of local_listener
registration). - pmon is no problem here - it knows for sure it's own
ORACLE_HOME and ORACLE_SID.
But if the SID_LIST entry does not match the ORACLE_HOME & ORACLE_SID tuple
at _INSTANCE STARTUP_ it is exactly the same problem as a "sqlplus / as
sysdba" with different ORACLE_HOME/ORACLE_SID.


I hope this explanation helps a little bit. I took some shortcuts but I did
not leave anything important for this particular issue.

br
 Martin





On Fri, May 10, 2013 at 8:41 PM, Norman Dunbar <oracle@xxxxxxxxxxxxxxx>wrote:

> On 10/05/13 18:35, David Barbour wrote:
>  > Probably not the answer, but you may have an extra slash in your oratab
>  > entry.
> You get the prize along with @martinberx on Twitter! It was indeed an
> extra slash in oratab.
>
> The solution is as follows:
>
> 1. Shut down liatener and database using current oratab versions - with
> extra slash.
>
> 2. Edit oratab, remove trailing slash from Oracle Homes.
>
> 3. Restart listeners. restart databases.
>
> 4. Connect via listener, it works perfectly.
>
> An extra trailing slash, for crying out loud.
>
> My deepest thanks to everyone who took p[art in this problem solving
> exercise. I spend the best part of today on it, you guys toom mere
> minutes. I am humbled by your awsome-ness!
>
> Thanks all.
>
>
> Cheers,
> Norm.
>
>
> --
> Norman Dunbar
> Dunbar IT Consultants Ltd
>
> Registered address:
> Thorpe House
> 61 Richardshaw Lane
> Pudsey
> West Yorkshire
> United Kingdom
> LS28 7EL
>
> Company Number: 05132767
> --
> //www.freelists.org/webpage/oracle-l
>


--
//www.freelists.org/webpage/oracle-l


Other related posts: