SAP HANA con SAPControl

Monitorización de Procesos y Gestión de la Instancia desde CLI

El Rol de SAPControl en SAP HANA

Aunque SAP HANA tiene sus propias herramientas de base de datos (como el comando HDB), la utilidad SAPControl es el estándar de SAP para interactuar con el sapstartsrv (el servicio de gestión de instancias). Es vital para automatizar el arranque/parada y para monitorizar la salud de los servicios externos e internos de la instancia.

Monitorización de Procesos

La función más utilizada es la verificación del estado de los servicios que componen la base de datos (indexserver, nameserver, etc.).

Verificar Salud de la Instancia

sapcontrol -nr <instancia> -function GetProcessList

Este comando devuelve una tabla con los servicios clave de HANA. Para un sistema saludable, todos deben aparecer en estado GREEN (Running):

Gestión del Ciclo de Vida

SAPControl permite arrancar y detener la base de datos de manera integrada con el entorno SAP.

Acción Función SAPControl
Arrancar HANA sapcontrol -nr <NN> -function StartSystem
Detener HANA sapcontrol -nr <NN> -function StopSystem
Reiniciar Servicio de Gestión sapcontrol -nr <NN> -function RestartService
Tip: Usar StartSystem vía SAPControl asegura que todos los servicios dependientes (incluyendo el SAP Host Agent si aplica) se coordinen correctamente bajo el paraguas del sapstartsrv.

Funcionalidades de Diagnóstico

SAPControl ofrece más que simples alarmas de arranque/parada:

Automatización con Bash

Para entornos de alta disponibilidad o monitoreo automático, podemos crear un script que valide si la instancia está operativa en segundos.

Script: check_hana_health.sh

#!/bin/bash
# Script para verificar salud de HANA via SAPControl
INSTANCE=$1
SID=$2

if [ -z "$INSTANCE" ]; then
    echo "Uso: ./check_hana_health.sh <instance_number> <SID>"
    exit 1
fi

# Ejecutar SAPControl y buscar procesos que no estén en GREEN
STATUS=$(sapcontrol -nr $INSTANCE -function GetProcessList | grep -E "GRAY|RED|YELLOW")

if [ -z "$STATUS" ]; then
    echo "[OK] SAP HANA SID $SID (Instancia $INSTANCE) está 100% Operativa (All GREEN)"
    exit 0
else
    echo "[CRITICAL] Problemas detectados en SID $SID:"
    sapcontrol -nr $INSTANCE -function GetProcessList | grep -E "GRAY|RED|YELLOW"
    exit 2
fi

Ventajas de Automatizar:

Resolución de Problemas Comunes

Error: NIECONN_REFUSED

Ocurre cuando el servicio sapstartsrv no está corriendo. HANA no podrá gestionarse mediante SAPControl ni Studio en este estado.

Solución: Ejecutar sapcontrol -nr <NN> -function StartService <SID>.

Páginas relacionadas