Issue

raviraju

Member
when the db started , i mean in up state wiil be an automatically created segment in shared memory? now my question is that if somebody kill that sagment accidently , bu using kill coomand .and now the db is can not started due the shared memory segment is not created.what is the solution for that????
 

RealHeavyDude

Well-Known Member
Never kill any processes by accident. Full Stop. If you kill process on the OS level you should be very well aware what you are doing.

Neither do you tell anything about the Progress/OpenEdge version nor about the OS this is running on.

I guess a reboot of the machine should do the trick in any case given that you are not running an ancient version that is blocked by an existing .lk file in which case you would need to remove it first before starting the database again after the reboot.
Heavy Regards, RealHeavyDude.
 

Rob Fitzpatrick

ProgressTalk.com Sponsor
now my question is that if somebody kill that sagment accidently , bu using kill coomand .
You can't kill a shared memory segment. The kill command is used to manipulate the state of processes. You can remove shared memory segments, provided you have permission. Obviously, do not ever do this to a running database.

The user who starts the database broker owns the shared memory segment(s) it creates. Only that user or root can remove them manually.

and now the db is can not started due the shared memory segment is not created.what is the solution for that????
If the database broker is killed with a kill -9 (which you should never ever do) its shared memory segments will remain allocated. They can be listed with the ipcs -m command and manually removed with the ipcrm -m <shmid> command.
 
Top