Running an External Procedure in a 12.1 Database Creates a Socket File that is Never Removed

(Doc ID 2303089.1)

Last updated on SEPTEMBER 04, 2017

Applies to:

PL/SQL - Version to [Release 12.1]
Information in this document applies to any platform.
*** Checked for relevance on 5th Sep 2017 ***


Every time the 12.1 external procedure agent (extproc) is started from a database session, a socket file, whose name begins with "s#", is created in directory /var/tmp/.oracle (Linux, Solaris) or /tmp/.oracle (AIX, HP).  When the database session ends and the extproc process terminates, the file is not removed.  If the inode limit on the device is reached, for instance when running applications that make many connections which call external procedures, this can lead to application crashes.

The problem reproduces whether the extproc process is started by the database or the listener.  Socket files may also be created even when the extproc process fails to load with:

Shutting down the database or listener does not remove these files.


This issue is typically encountered when the database is upgraded to or from a pre-12c release.


Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms