Remover segmentos de memoria compartida en Unix

Categorías:

Alguna vez, instalando un motor de Informx 11 , he inicializado la instancia y por cuestiones de la vida, se generó un error y la instancia se ha ido abajo.

Pues bien, al tratar de levantarla de nuevo se me generaba el siguiente mensaje de error

[informix_isis:pxs_shm /opt/informix/scripts/pxs]13:05:49 $ oninit -ivy
Checking group membership to determine server run mode...succeeded
Reading configuration file '/opt/informix/etc/onconfig.pxs'...succeeded
Creating /INFORMIXTMP/.infxdirs...succeeded
Checking config parameters...succeeded
Allocating and attaching to shared memory...FAILED
oninit: Fatal error in shared memory creation
 
WARNING: server initialization failed, or possibly timed out (if -w was used).
Check the message log, online.log, for errors.

Estuve durante un rato viendo los mensajes de error y el log de errores …

[informix_isis:pxs_shm /opt/informix/scripts/pxs]13:07:21 $ onstat -m
shared memory not initialized for INFORMIXSERVER 'pxs_shm'
 
Message Log File: /opt/informix/pxs.log
12:57:20  Aborting physical restore of ROOT DBSpace
12:57:20  Aborted by client.
12:57:20  IBM Informix Dynamic Server Stopped.
 
13:04:12  IBM Informix Dynamic Server Started.
13:04:12  shmget: [EEXIST][17]: key 526e4801: shared memory already exists
13:04:12  mt_shm_init: can't create resident segment

Aquí veo que existe un segmento de memoria compartida en uso o activa, ante lo cual voy a revisar a nivel de sistema operativo que segmentos se encuentran activos.

[informix_isis:pxs_shm /opt/informix/scripts/pxs]13:07:56 $ ipcs -mp
IPC status from  as of Tue Oct 29 13:08:03 COT 2013
T         ID      KEY        MODE        OWNER    GROUP  CPID  LPID
Shared Memory:
m 1728053344   0x526e4804 --rw-rw-rw-     root informix 10444 10431
m 1476395103   0x526e4803 --rw-rw-rw-     root informix 10444 10444
m 1207959644   0x526e4802 --rw-rw----     root informix 10444 10431
m  184549467   0x526e4801 --rw-rw----     root informix 10444 10444

Aqui es donde empieza lo bueno, como hacer para eliminarlos? pues estaba seguro que ninguna otra instancia informix hacía uso de ellos, como lo sabia? por que era la primer instancia de informix que estaba inicializando laugh

como root entonces procedo a elimarlos

[informix_isis:pxs_shm /opt/informix/scripts/pxs]13:09:57 $ sudo ipcrm -m 184549467
[informix_isis:pxs_shm /opt/informix/scripts/pxs]13:11:15 $ sudo ipcrm -m 1207959644
[informix_isis:pxs_shm /opt/informix/scripts/pxs]13:11:25 $ sudo ipcrm -m 1476395103
[informix_isis:pxs_shm /opt/informix/scripts/pxs]13:11:29 $ sudo ipcrm -m 1728053344

Y listo, con esto he eliminado los segmentos de memoria compartidos….

[informix_isis:pxs_shm /opt/informix/scripts/pxs]13:11:32 $ ipcs -mp
IPC status from  as of Tue Oct 29 13:11:35 COT 2013
T         ID      KEY        MODE        OWNER    GROUP  CPID  LPID
Shared Memory:

 

 

 

Sin respuestas

Deja un comentario