In order to restart the database, either wait until the shared memory is released by the processes still connected to it or identify these processes and send a SIGHUP or ENDTASK to them. Article
How to find and remove invalid or orphaned Shared Memory using dbipcs and IPCRM. Then remove the shm and sem ids from the master block of the database. Methods of removing the shm and seg ids from the master block:
- PROUTIL -C truncate the bi file (Progress 8.0B and above)
- PROREST the database (Progress 8.2 and above)
- PROSTRCT repair (Progress 8.2 and above **)
- Run a single-user session then exit prior to starting the multi-user session.
** PROSTRCT repair can be used on a single volume database by simply typing "prostrct repair dbname" with no structure file available.