RE: Listener files/sockets in /tmp/.oracle

  • From: "Matthew Zito" <mzito@xxxxxxxxxxx>
  • To: <Brandon.Allen@xxxxxxxxxxx>, <oracle-l@xxxxxxxxxxxxx>
  • Date: Thu, 12 Nov 2009 16:37:38 -0500

The issue is that the clients need to have a well-known location to look
for a sockets file for the IPC communications.  There are conventions on
certain unixes that these should go in a particular directory under /var
- I believe on Linux /var/run is suggested.

 

It is likely that setting TMPDIR in your environment will change the
location, but your oracle session will always need to have that variable
set as well, otherwise it won't be able to find it.

 

You could also try setting the immutable flag on the sockets file once
created, which will prevent even root from unlinking that file until the
flag is removed.  

 

It's worth noting that since the listener is a dot-file, your admin
needed to do something pretty specific to delete it - simply an rm -f *
wouldn't have blown it away.

 

Thanks,

Matt

 

________________________________

From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Allen, Brandon
Sent: Thursday, November 12, 2009 4:30 PM
To: oracle-l@xxxxxxxxxxxxx
Subject: Listener files/sockets in /tmp/.oracle

 

Hi List,

 

I just learned something new today when our listener crashed after the
sysadmin cleaned up our /tmp file system.  Apparently the Oracle
listener puts sockets in /tmp (or /var/tmp depending on your OS), as
described in MOS 1013420.6.

 

If the sockets are deleted, then IPC connection attempts fail with the
following errors:

 

TNS-12541: TNS:no listener

 TNS-12560: TNS:protocol adapter error

  TNS-00511: No listener

 

I searched for a supported way to relocate these files to a safer
location, but couldn't find anything on the web or in MOS.  I'm thinking
of just creating a link, but still need to think through it some more to
see if that's a good idea.  Anyone else have any creative ideas on how
to deal with this other than just not deleting the sockets from /tmp?
Maybe there is an environment variable or parameter that can be used to
point to a different location?

 

Why would Oracle put important files/sockets in /tmp anyway?!?

 

Thanks,

Brandon

 

 

________________________________

Privileged/Confidential Information may be contained in this message or
attachments hereto. Please advise immediately if you or your employer do
not consent to Internet email for messages of this kind. Opinions,
conclusions and other information in this message that do not relate to
the official business of this company shall be understood as neither
given nor endorsed by it.

Other related posts: