Mantenimiento en SAP HANA

Housekeeping y Automatización de Limpieza (CLI)

Importancia del Housekeeping

En SAP HANA, el mantenimiento proactivo es vital para evitar el llenado de los sistemas de archivos de Log y Trace, lo cual podría provocar la parada inmediata de la base de datos. El housekeeping debe cubrir el catálogo de backup, los archivos físicos de backup y las trazas del sistema.

Automatización con Bash y HDBSQL

Utilizando la herramienta HDBSQL, podemos automatizar la limpieza del catálogo de backups y la eliminación de logs antiguos que ya no son necesarios para la recuperación.

Script: hana_housekeeping.sh

#!/bin/bash
# Script de Mantenimiento Proactivo para SAP HANA
# Limpieza de Catálogo de Backups y Logs
KEY="ADMIN_KEY"
RETENTION_DAYS=30

# 1. Obtener el ID del backup más antiguo dentro de la retención
BACKUP_ID_LIMIT=$(hdbsql -U $KEY -x "SELECT TOP 1 BACKUP_ID FROM M_BACKUP_CATALOG WHERE SYS_START_TIME < ADD_DAYS(CURRENT_TIMESTAMP, -$RETENTION_DAYS) ORDER BY SYS_START_TIME DESC")

if [ ! -z "$BACKUP_ID_LIMIT" ]; then
    echo "Iniciando limpieza de catálogo anterior al Backup ID: $BACKUP_ID_LIMIT"
    # 2. Borrar del catálogo y eliminar archivos físicos (WITH FILE)
    hdbsql -U $KEY "BACKUP CATALOG DELETE ALL BEFORE $BACKUP_ID_LIMIT WITH FILE"
else
    echo "No se encontraron backups para limpiar con más de $RETENTION_DAYS días."
fi

# 3. Limpieza de Trace Files antiguos (Linux)
find /usr/sap/*/HDB*/trace -name "*.trc" -mtime +$RETENTION_DAYS -delete
echo "Housekeeping completado."

Tareas de Mantenimiento Clave

Seguridad y Prevención

Atención: Antes de ejecutar una limpieza masiva con WITH FILE, asegúrate de que tienes copias de seguridad externas (Tape/Cloud) que cumplan con la política de retención legal de tu empresa.

Usa siempre el hdbuserstore para que el script de mantenimiento no exponga credenciales en el sistema operativo.

Páginas relacionadas