Varias veces me he topado con el problema de que después de varios minutos de haberle indicado al Oracle que se apague, no lo hace.
Generalmente lo que hace un amdinistrador novel (como yo) es simplemente mandarle una señal 9 (SIGKILL) ó 15 (SIGTERM) al proceso cliente. Bueno, si hacemos esto, corremos el riesgo de que el proceso cliente no libere algún segmento de memoria compatida o bien algún semáforo que estén en uso al recibir las señales.
Si esto llega a ocurrir, seguramente tendrán un problema al tratar de reiniciar Oracle. Lo que hay que hacer se detalla en el siguiente ejemplo.
Primero, revisamos la información de la intercomunicación de procesos. Esto, con el comando ipcs.
Esto, nos arroja información sobre las colas de mensajes, segmentos ememoria compartida y semáforos en uso, así como el usuario y el grupo al que pertenecen. En especial nos concentraremos en una entrada de memoria compartida (la identificada por el ID 1), y el semáforo con ID 3.
En ambos casos, se ve que pertenecen al usuario oracle, lo cual es obviamente extraño pues en teroía ya no tenemos ningún proceso ejecutándose con los privilegios de este usuario. Un simple ps -aux | grep oracle | grep -v grep lo corroboraría.
Localizados los candidatos, procedemos a eliminarlos con el comando ipcrm, para el caso de la memoria compartida usamos el modificador -m y para borrar el semáforo usamos el modificador -s.
Generalmente lo que hace un amdinistrador novel (como yo) es simplemente mandarle una señal 9 (SIGKILL) ó 15 (SIGTERM) al proceso cliente. Bueno, si hacemos esto, corremos el riesgo de que el proceso cliente no libere algún segmento de memoria compatida o bien algún semáforo que estén en uso al recibir las señales.
Si esto llega a ocurrir, seguramente tendrán un problema al tratar de reiniciar Oracle. Lo que hay que hacer se detalla en el siguiente ejemplo.
Primero, revisamos la información de la intercomunicación de procesos. Esto, con el comando ipcs.
Esto, nos arroja información sobre las colas de mensajes, segmentos ememoria compartida y semáforos en uso, así como el usuario y el grupo al que pertenecen. En especial nos concentraremos en una entrada de memoria compartida (la identificada por el ID 1), y el semáforo con ID 3.
En ambos casos, se ve que pertenecen al usuario oracle, lo cual es obviamente extraño pues en teroía ya no tenemos ningún proceso ejecutándose con los privilegios de este usuario. Un simple ps -aux | grep oracle | grep -v grep lo corroboraría.
Localizados los candidatos, procedemos a eliminarlos con el comando ipcrm, para el caso de la memoria compartida usamos el modificador -m y para borrar el semáforo usamos el modificador -s.
Hecho lo cual, podemos reiniciar Oracle sin mayor problema
> ipcs
IPC status fromas of Fri Jul 31 15:40:20 ART 2009
T ID KEY MODE OWNER GROUP
Message Queues:
q 1 0x4200d966 --rw------- netuser netuser
q 0 0x4200d964 --rw------- netuser netuser
Shared Memory:
m 17 0x100baae --rw-rw-rw- root root
m 16 0x100dd9b --rw------- root root
m 15 0x4100b820 --rw-rw-rw- root root
m 14 0x4100d958 --rw-rw-rw- root root
m 13 0x4100d957 --rw-rw-rw- root root
m 5 0x4100b823 --rw-rw-rw- root root
m 1 0xb80c460 --rw-r----- oracle dba
Semaphores:
s 13 0x100babd --ra-ra-ra- root root
s 12 0x4100b820 --ra-ra-ra- root root
s 11 0x4100d958 --ra-ra-ra- root root
s 10 0x3e7 --ra-ra-ra- netuser netuser
s 9 0x6f --ra-ra-ra- netuser netuser
s 6 0x13d8483 --ra-r--r-- root root
s 3 0x5371951c --ra-r----- oracle dba
> ipcrm -s 3 & ipcrm -m 1
Espero que les sea de tanta utilidad como lo ha sido para mí
4 comentarios:
Hola, espero me pueda ayudar con mi duda, requiero saber cual es el ancho de banda que se necesita una sesion del ERP de oracle utilizando el jinitiatior en la version 11 del EBS.
Estimado Malo:
Lo siento. No conozco tanto de la herramienta.
Saluos!
Estimado muy buena solucion, pero tb existen usuarios windows. gracias =)
Anónimo,estoy plenamente consciente de que hay usuarios en otros sistemas operativos. Sucede que trabajo con Oracle única y exclusivamente bajo solaris.
Supongo que deben existír para windows herramientas quete permitan ver los datos tanto de los procesos que se ejecutan, de una manera más detallada que el task manager; como de los segmentos de memoria compartida, semáforos, etc.
Saludos!
Publicar un comentario