Knowledge Base : Tmp is full

Sometimes on Oracle database servers, /tmp gets filled up with .SHMDP-Files.

On Solaris, shm_open files are under /tmp, you may need to increase the /tmp size or the default location can be changed by setting _ncomp_shared_object_dir initialization parameter to a different path.

See MOS Note: ID 752899.1:

Symptoms

/dev/shm is being filled up with files in the format JOXSHM_EXT?SID?? and eventually causing the DB to restart. Oracle is not automatically cleaning those files._

Please note that it is OS specific whether such segments are visible on a filesystem or not, and if so where they get placed. eg: On Solaris shm_open() internally creates a file in /tmp with the prefix .SHMD and less the leading „/“ from the shm_open argument whereas on Linux it creates an entry in /dev/shm

See MOS Note 1389623.1:

Solution

Make sure /dev/shm is sized large enough and mounted correctly in order to have enough space for both PL/SQL native code and Java compiled code. The more you use these features, the more space is needed in /dev/shm. Hence the size of /dev/shm depends on each environment in particular. There is no recommended size for it from compilation point of view (apart from being at least the value of MEMORY_TARGET or MEMORY_MAX_TARGET, whichever is higher, or the size of SGA and PGA if MEMORY_TARGET is not used).