Operating System - HP-UX
1838105 Members
3629 Online
110124 Solutions
New Discussion

Re: Share memory for Oracle 8i

 
Wan Bo
Occasional Advisor

Share memory for Oracle 8i

Hi,everyone,last night I restarted Oracle,the SGA set to 2.7GB,when I used ipcs I found two 2.7GB share memory segments were allocated, one's attribute set to "D" and NATTCH was 1, but processes showed in LSPID and LRPID were not existent.
My question is how to find out the process used this segment and release it without restart the machine?
3 REPLIES 3
Bill Hassell
Honored Contributor

Re: Share memory for Oracle 8i

Unfortunately, once the processes disappear (without closing and releasing any shared memory segments that they allocated), there is no way to identify the original processes. Shared memory is quite flexible in that segments may be created by one process and used by others with no restriction on tying the segment(s) to a specific program.

This is why is it so very important never to use kill -9 for complex programs. Every program should be given a chance to shutdown properly (and kill -9 does not allow this).


Bill Hassell, sysadmin
Wodisch_1
Honored Contributor

Re: Share memory for Oracle 8i

Hi Wan Bo,

do you have "GlancePlus" installed?
Then you could look for the "memory regions" for each suspicious process.
If one is attached to your "D"eleted segment, decide wether you could kill it (but safely, like kill -15, then kill -1, then kill -2).
Does this segment disappear now from "ipcs -m"?

HTH,
Wodisch
Arockia Jegan
Trusted Contributor

Re: Share memory for Oracle 8i

Hi,

#ipcs -mb

will show you the shared memory used by the processes.

#ipcrm -m

Use the above command to release the memory.

shmid --> shared memory ID. You will get this from ipcs -mb command.