A veces nos encontramos errores técnicos en aplicaciones, scripts, etc. y los resolvemos pero no guardamos en ningún lado la solución y los síntomas. Quise hacer una especie de repositorio de problemas/soluciones, y tener disponibles mis experiencias para todos. Espero no volver a decir "¡esto ya me había pasado, pero no me acuerdo cómo lo resolví!" [temas: Oracle DB, korn shell scripts, Oracle App Server, Oracle Collaboration Suite, Windows, Linux, ...]

lunes, mayo 21, 2007

Oracle Messenger no se puede conectar

En alguna ocasión, después de cierto tiempo de haber utilizado el Oracle Collaboration Suite, un buen día el Oracle Messenger no se podía conectar. Marcaba algo como lo siguiente:

Sign In Failure. Unable To Connect To The Server, Please Try Again Later

En español sale algo así como:

Fallo de conexión. No se ha podido conectar al servidor. Vuelva a intentarlo más tarde.

A continuación describo lo que hice:

1. Corrí el comando "$ORACLE_HOME/imeeting/bin/rtcctl getstate -v", el cual arrojó el siguiente resultado:

ID COMPONENT_NAME TYPE STATUS NUM_PROCS
10007 rtc-connmgr connmgr UP 2
10000 rtc-confsvr confsvr UP 4
10006 rtc-imrtr imrtr STANDBY 1
10008 rtc-voiceproxy voiceproxyUP 1
10004 rtcpm rtcpm UP 1
10003 rtc-rdtr rdtr UP 1
10002 rtc-mx mx UP 1

Como se ve, el imrtr, que es el instant messenger, no estaba corriendo. Además, el log más reciente que se encuentra en $ORACLE_HOME/imeeting/logs/connmgr indicaba lo siguiente:

S*05/21/07 20:04:39 Bounce back to client for no JAX connection: shg
i.05/21/07 20:04:39 pollconn: closed [8]

Según una nota que encontré en metalink (Note: 356411.1), esto puede deberse a que la base de datos falló, se apagó súbitamente, etc., lo cual dejó un archivo sin cerrar y esto a su vez causó el problema.

2. Detuve el RTC ($ORACLE_HOME/imeeting/bin/rtcctl stop)

3. Detuve el OC4J_imeeting (opmnctl stopproc process-type=OC4J_imeeting)

4. Detuve el resto de las aplicaciones (opmnctl stopall)

5. Verifiqué que no quedaran procesos de imeeting corriendo (ps -ef | egrep imeeting). Si hubieran quedado, los hubiera matado (kill -9 )

6. Después de llevar a cabo los pasos anteriores, moví los archivos que se llamaban "*pid*" que quedaron en los subdirectorios de $ORACLE_HOME/imeeting/tmp hacia un directorio temporal (find $ORACLE_HOME/imeeting/tmp -name "*pid*" -exec mv {} ~/local/tmp/ \;)

7. Moví el archivo xcp.pid que estaba dentro de $ORACLE_HOME/imeeting/im/support hacia un directorio temporal (mv $ORACLE_HOME/imeeting/im/support/xcp.pid ~/local/tmp)

8. Levanté las aplicaciones de nuevo (opmnctl startall)

9. Corrí el comando "$ORACLE_HOME/imeeting/bin/rtcctl getstate -v" de nuevo, y ahora arrojó el siguiente resultado:

ID COMPONENT_NAME TYPE STATUS NUM_PROCS
10007 rtc-connmgr connmgr UP 2
10000 rtc-confsvr confsvr UP 4
10006 rtc-imrtr imrtr ACTIVE-OK 1
10008 rtc-voiceproxy voiceproxyUP 1
10004 rtcpm rtcpm UP 1
10003 rtc-rdtr rdtr UP 1
10002 rtc-mx mx UP 1

8. Ejecuté el Oracle Messenger y ahora sí me pude conectar.

9. Me fui por unos bien merecidos tacos y un par de cervezas.

**************************************************************

En otra ocasión salía el mismo error al querer conectarme con el Oracle Messenger, pero cuando corría el comando rtcctl getstate, todo estaba bien. Entonces corrí el mismo comando rtcctl, pero con la opción de runTests, "$ORACLE_HOME/imeeting/bin/rtcctl runTests" y obtuve lo siguiente:

TEST NAME SUCCESS
mtgtest true
dbtest true
apptest true
proxytest false
emailtest true
imtest false
servletAccessTesttrue

Y después de buscarle, encontré lo siguiente en el Real-Time Collaboration Administrator's Guide:

If users are able to sign in to the Oracle Messenger, and the rtcctl getState command shows that all Oracle Messenger components are running, but the imtest shows as failed in the Status report under the System tab, you should check the connectivity to the database from the Oracle Presence server. Make sure that the tnsnames.ora file on the Applications tier is correctly configured to let you to run sqlplus from $ORACLE_HOME to the database containing the RTC schema.

Y revisando, efectivamente el tnsnames.ora del home de aplicaciones no tenía la entrada de la BD del OCS, por lo que la agregué y se solucionó el problema.

1 Comments:

Anonymous Anónimo said...

te quedo chido el #9.. dice aca mi co. de trabajo que invites los tacos y las chelas.. LOL :-)

2:08 p.m.

 

Publicar un comentario

<< Home