Clearing Unused Shared Memory Left By DM_ORACLE (Doc ID 989567.1)

Last updated on SEPTEMBER 21, 2016

Applies to:

Oracle Communications Billing and Revenue Management - Version 7.0.0.0.1 to 7.5.0.0.0 [Release 7.0.0 to 7.5.0]
Oracle Solaris on SPARC (64-bit)
***Checked for relevance on 28-Feb-2013***
***Checked for relevance on 03-Aug-2014***
***Checked for relevance on 22-Jan-2016***

Goal

The dm_oracle processes allocate shared memory segments on the system, which are used for inter-process communication between back-end and front-end processes.

These shared memory segments can be monitored using the standard 'ipcs' command. For example, this is the result of a command run on a Solaris system with one running dm_oracle:

ipcs -ma

IPC status from <running system> as of Wed Jan 13 17:21:42 GMT 2010
T ID KEY MODE OWNER GROUP CREATOR CGROUP NATTCH SEGSZ CPID LPID ATIME DTIME CTIME
Shared Memory:
m 117440526 0 --rw------- ffumi pin ffumi pin 13 33554432 26034 26034 17:21:09 no-entry 17:21:08


As reported in the ipcs NATTCH (number of attached processes) column, 13 processes make use of this shared memory segment.

The CPID (26034 in this example) reports the process which allocated the segment. A 'ps' command can verify which process corresponds to the ID, for example:

ps -fu <unix user> | grep dm_oracle | grep 26034

pin01 26034 1 0 17:21:08 pts/2 0:00 /export/home/pin01/opt/portal/7.3.1/bin/dm_oracle


It may happen that the dm_oracle is not shut down gracefully, for example by a 'kill -9' command, or a core dump failure. If all dm_oracle processes are shut down ungracefully, the same ipcs command will return NATTCH=0, for that segment:

ipcs -ma

IPC status from <running system> as of Wed Jan 13 17:26:03 GMT 2010
T ID KEY MODE OWNER GROUP CREATOR CGROUP NATTCH SEGSZ CPID LPID ATIME DTIME CTIME
Shared Memory:
m 117440526 0 --rw------- ffumi pin ffumi pin 0 33554432 26034 26084 17:21:09 17:23:34 17:21:08


In that case, a restart of dm_oracle will allocate a new segment and the memory allocated to the old one will be left behind and wasted on the system. How to take care of this ?

Solution

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