Si tuviera que escoger un problema común que las personas informan continuamente en distintos foros SAP, serían problemas relacionados con el inicio del sistema. A lo largo de los años, he leído cientos de discusiones y, por algún motivo, la mayoría de las publicaciones comienzan con una muy breve explicación del problema y si tienes suerte, una “copia” de algún log del sistema, que quizás no sea el log que contiene el origen del problema. Entonces, ¿Por donde comenzar a investigar? ¿Dónde está el problema? ¿Sistema operativo? ¿Base de datos? ¿SAP?. En esta publicación se detallará una guía practica de resolución de problemas de inicio de un sistema SAP, en una secuencia lógica que lo ayudará a descubrir qué está sucediendo realmente.
El sistema SAP no inicia, ¿Que haces?
Básicamente cuando inicias un sistema SAP, ocurre lo siguiente:
- Base de datos: SAP verifica automáticamente si la base de datos se encuentra disponible. Si no lo está, se encarga de iniciar la base de datos. Si por algún motivo la base de datos no se inicia correctamente o SAP no se logra comunicar con la base de datos, tendrás que verificar en primera instancia los logs de SAP, y luego los logs de la base de datos.
- Message server: El servidor de mensajes es la primera parte del sistema que se inicia, maneja las comunicaciones entre las instancias SAP. Solo un servidor de mensajes está disponible por sistema, independiente de la cantidad de instancias de diálogo disponibles. Los registros del servidor de mensajes se guardan en la traza dev_ms. Si ocurre algún problema con el servidor de mensajes será bastante obvio porque no verá una traza dev_disp.
- Dispatcher: Se encarga de recibir las solicitudes y dirigirlas al Work Process que corresponda. Durante el inicio de un sistema SAP, se puede ver cómo se invita a los Work Process a comenzar a trabajar en la traza dev_disp. Si algo saliera mal, en la traza dev_disp solo aparecerá que los Work Process “murieron”. Por lo general, nunca se da una razón de la falla al iniciar un sistema SAP en esta traza, pero se crea una traza denominada dev_w* para cada Work Process de diálogo, y se completa el proceso.
- Work Process de Diálogo: Aquí es donde se encuentra el origen del problema el 99% de los casos. ¿Por qué?… Cada Work Process de diálogo tiene un área de memoria y una conexión dedicada a la capa de base de datos. Si algo va a salir mal, lo más probable es que suceda aquí. Cada Work Process tiene su propia traza (dev_w *) donde encontrarás información detallada sobre el error.
Entonces, ¿Cuál sería una secuencia lógica de Troubleshooting?
- Verifique el estatus de la base de datos y la conexión hacia la base de datos. Puedes utilizar un comando rápido cómo por ejemplo, R3trans -d. Es una forma rápida y sencilla de descartar problemas de conexión con la base de datos.
- Verifique las trazas en el directorio Work. Si las trazas dev_w* existen quiere decir que el Message Server y el Dispatcher se iniciaron sin inconvenientes, y el problema podría estar en las trazas de los Work Process.
- Si las trazas del Dispatcher y de los Work Processes no se han creado, quiere decir que el problema se encuentra en el Message Server, por lo que debes verificar la traza dev_ms.
En conclusión…
Espero que la próxima vez que encuentres un problema en el inicio de un sistema SAP, siguiendo esta guía practica y estos simples pasos puedas identificar el problema y avanzar más rápido hacia la solución del incidente. Te recomiendo mantener una buena documentación de los cambios en el sistema SAP, ya que te ayudará durante la resolución de problemas.