Python: El Motor de Scripting de HANA
SAP HANA incluye un conjunto de scripts Python preinstalados diseñados para tareas de administración de bajo nivel, diagnósticos de red y gestión del landscape. Estos scripts interactúan directamente con la persistencia y los servicios core sin necesidad de una interfaz gráfica.
Ubicación y Entorno
Los scripts se encuentran en el directorio de binarios de la instancia. Para ejecutarlos correctamente,
se debe utilizar el entorno del usuario administrador (<sid>adm).
Ruta Estándar:
/usr/sap/<SID>/HDB<Inst>/exe/python_support/
Permisos y Ejecución
- Usuario: Siempre ejecutar como
<sid>admpara heredar las variables de entorno ($PATH,$DIR_INSTANCE). - Binario: Aunque se pueden llamar directamente con
python script.py, SAP recomienda usar el wrapper de la instancia si está disponible.
Scripts Críticos para el Administrador
| Script | Propósito |
|---|---|
landscapeHostConfiguration.py |
Verifica que la configuración del host cumpla con los requisitos del landscape (Scale-out, storage). |
systemReplicationStatus.py |
Muestra el estado detallado de la replicación HSR (System Replication). Crucial en entornos HA. |
fullSystemInfoDump.py |
Genera un volcado completo de información del sistema para enviar a soporte de SAP (RTE dump). |
getProcessList.py |
Lista todos los procesos de la instancia y su estado actual (similar a
HDB info). |
Ejemplos de Uso Práctico
Verificar Replicación de Sistema (HSR)
cd $DIR_INSTANCE/exe/python_support python systemReplicationStatus.py
Diagnóstico de Landscape
python landscapeHostConfiguration.py
Este script devuelve una tabla con el estado de los servicios en cada nodo, indicando si el host está configurado correctamente para HANA.
Mejores Prácticas
Precaución: No modifiques estos scripts. SAP los actualiza con cada revisión de HANA y
cualquier cambio manual podría invalidar el soporte o causar fallos en la administración.
- Logs: Muchos de estos scripts generan logs adicionales en el directorio
tracede la instancia. - Automatización: Puedes programar
systemReplicationStatus.pyen el crontab del usuarioadmpara alertar si el estado de replicación no es "ACTIVE".