Running an External Procedure in a 12.1 Database Creates a Socket File that is Never Removed
Last updated on SEPTEMBER 04, 2017
Applies to:PL/SQL - Version 126.96.36.199 to 188.8.131.52 [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 184.108.40.206 or 220.127.116.11 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