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: Unix Command

RE: Unix Command

From: Kevin Closson <kevinc_at_polyserve.com>
Date: Thu, 20 Apr 2006 21:09:09 -0700
Message-ID: <5D2570CAFC98974F9B6A759D1C74BAD06FE871@ex2.ms.polyserve.com>

 >>>My understanding was that he tested with fuser or lsof and 

>>>found no other users using that file? If that is so, then OS
>>>may be little slow in recognizing that the situation has changed.

Impossible. There is no "sweep up" demon for this (as it were) in any Unix derivation. There is an OS thread in the bowels of unlink(1) waiting on a kernel semaphore for the lock on the inode held (incremented)
by the processes that have file descriptors (or mmap(1)s too of course) on the file. They close explicitly (e.g., close(1)) or implicitly (e.g., exit(1) exec(1)) and the ref count decrements and when the count is right the original poor lingering thread in unlink(1) gets his deed done.

I remember one really cherry scenario where (a lot like this installments on this thread) a customer with a US $1,000,000 SMP was looking for the sqlplus executable. He blamed the daylights out of the OS because he didn't understand the semantics of UFS file manipulation. Lo and behold, we started digging in and found that his Oracle 7 Oracle home had 1 file in it and that was ${ORACLE_HOME}/bin/oracle. Can anyone guess how that scenario came to be?

rm -fr *

>>>--
>>>Mladen Gogala
>>>http://www.mgogala.com
>>>
>>>--
>>>http://www.freelists.org/webpage/oracle-l
>>>
>>>
>>>

--
http://www.freelists.org/webpage/oracle-l
Received on Thu Apr 20 2006 - 23:09:09 CDT

Original text of this message

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