El Legacy Propietario de SAP
SAP Sybase Adaptive Server Enterprise (ASE) fue la base de datos relacional desarrollada por Sybase (adquirida por SAP en 2010). Antes de SAP HANA, ASE era la plataforma propietaria recomendada por SAP.
Aunque menos común en nuevas instalaciones, muchos sistemas ECC y BW legacy siguen operando establemente sobre Sybase ASE. Su costo de licenciamiento históricamente inferior a Oracle la hizo atractiva para empresas medianas.
Arquitectura: Devices, Databases y Segments
La arquitectura de Sybase ASE es conceptualmente diferente a Oracle o SQL Server:
Devices (Dispositivos)
En Sybase, un device es un archivo o raw device que almacena datos. Los devices se crean primero, y luego se asignan a databases:
-- Crear device de 10GB
disk init name = 'sap_data_dev1',
physname = '/sybase/data/sap_data_dev1.dat',
size = '10G'
Databases
Una database se crea sobre uno o más devices. En SAP, típicamente existe una database principal (ej.
SAP) que contiene todas las tablas:
-- Crear database sobre device create database SAP on sap_data_dev1 = '5G' log on sap_log_dev1 = '2G'
Segments
Los segments permiten controlar dónde se almacenan objetos dentro de una database. Por ejemplo, separar:
- Data segment: Datos de tablas.
- Log segment: Transaction log (debe estar en device separado para performance).
- Index segment: Índices (opcional, para optimizar I/O).
Administración con isql
isql es el cliente de línea de comandos de Sybase (equivalente a sqlplus en Oracle):
Conexión
isql -U sapsa -S SAP_PROD -P password
Stored Procedures Clave
La administración en Sybase se realiza principalmente mediante stored procedures del sistema:
sp_help tablename: Describe estructura de tabla.sp_helpdb: Lista todas las databases y su tamaño.sp_spaceused tablename: Uso de espacio de tabla.sp_who: Sesiones activas (equivalente av$sessionen Oracle).sp_lock: Locks actuales.sp_monitor: Estadísticas de performance desde último reset.
Ejemplo: Monitorizar Espacio
1> use SAP 2> go 1> exec sp_spaceused 2> go database_name database_size unallocated space SAP 52000 MB 1200 MB
Cache y Memoria: El Corazón del Performance
Sybase ASE es muy dependiente de la configuración de cache para performance óptimo.
Data Cache
El data cache almacena páginas de datos en memoria. El tamaño se configura como porcentaje de la memoria total:
-- Configurar cache de 4GB sp_cacheconfig 'default data cache', '4G'
Named Caches
Para tablas críticas (ej. BSEG en SAP), se pueden crear caches dedicados:
-- Crear cache dedicado de 1GB para tabla BSEG sp_cacheconfig 'bseg_cache', '1G' -- Asignar tabla al cache sp_bindcache 'bseg_cache', 'SAP', 'BSEG'
Procedure Cache
Cache para stored procedures compilados (equivalente a plan cache en SQL Server). Configurar como % de memoria total:
sp_configure 'procedure cache percent', 20
Backups: Dump y Load
Sybase usa comandos dump y load (nomenclatura diferente a otras bases de
datos):
Dump Database (Backup Completo)
-- Backup de database completa dump database SAP to '/backup/sap_full.dmp' -- Verificar que completó exitosamente select * from syslogshold
Dump Transaction (Backup de Log)
Para point-in-time recovery, hacer dump de transaction log periódicamente:
-- Backup del transaction log dump transaction SAP to '/backup/sap_tran_20250110.dmp'
Load Database (Restore)
-- Poner database offline use master go online database SAP for standby_access go -- Restaurar backup load database SAP from '/backup/sap_full.dmp' go -- Aplicar transaction logs load transaction SAP from '/backup/sap_tran_20250110.dmp' go -- Volver online online database SAP go
Administración con Transacciones SAP
DB02: Monitorización de Espacio
Funciona en Sybase igual que en otras plataformas. Muestra:
- Segment Usage: Uso de data segment vs log segment.
- Missing Indexes: Detecta tablas sin índices necesarios.
- Fragmentation: Detecta tablas fragmentadas que requieren rebuild.
ST04: Performance Analysis
Métricas clave para Sybase:
- Cache Hit Ratio: Debe estar >90%. Si es bajo, aumentar data cache.
- Lock Contention: Bloqueos que causan esperas.
- I/O Statistics: Lecturas físicas vs lógicas.
Tuning de Parámetros Críticos
Parámetros clave configurados con sp_configure:
Memoria
max memory: Memoria total que Sybase puede usar (en páginas de 2KB). Para 16GB:8388608.procedure cache percent: % de memoria para procedure cache. Típicamente 15-20%.
Locks
number of locks: Número máximo de locks simultáneos. SAP recomienda mínimo 100,000 para sistemas medianos.lock promotion HWM: High Water Mark. Cuando una query supera este número de row locks, Sybase promueve a page/table lock.
I/O
number of devices: Número máximo de devices. Debe ser >= número de devices físicos creados.disk I/O structures: Buffers para operaciones de I/O. Aumentar si hay high disk I/O contention.
Aplicar Cambios
Muchos parámetros requieren reinicio de Sybase:
-- Configurar parámetro sp_configure 'max memory', 8388608 -- Reiniciar para aplicar shutdown with nowait -- Luego iniciar desde OS: startserver -f RUN_SAP
Troubleshooting Común
Problema: "Log segment full"
Síntoma: Error 1105. Transacciones fallan porque el log segment está lleno.
Solución Inmediata:
-- Hacer dump del transaction log para liberarlo dump transaction SAP to '/backup/emergency_tran.dmp'
Solución Permanente: Aumentar tamaño del log segment o hacer dumps de transaction más frecuentes.
Problema: "Cache hit ratio bajo (<90%)"< /h3>
Causa: Data cache insuficiente.
Solución:
-- Aumentar data cache sp_cacheconfig 'default data cache', '8G' -- Reiniciar Sybase para aplicar
Problema: "Deadlocks frecuentes"
Diagnóstico: Habilitar deadlock tracing:
sp_configure 'print deadlock information', 1
Los deadlocks se escribirán al error log de Sybase. Revisar qué queries están involucradas y optimizar el orden de acceso a tablas.
Problema: "Tabla fragmentada"
Solución: Rebuild de tabla (requiere downtime o proceso especial):
-- Opción 1: bcp out/in (requiere downtime) bcp SAP..BSEG out bseg.dat -c -U sapsa -S SAP_PROD truncate table BSEG bcp SAP..BSEG in bseg.dat -c -U sapsa -S SAP_PROD -- Opción 2: Usar herramienta SAP R3load (más seguro)
El Fin de una Era
SAP ha anunciado que Sybase ASE está en mantenimiento extendido, no en desarrollo activo. Las nuevas funcionalidades se centran en HANA. Sin embargo:
- Los sistemas existentes siguen soportados hasta al menos 2030.
- Para sistemas que no planean migrar a S/4HANA, Sybase ASE es perfectamente viable.
- El conocimiento de Sybase sigue siendo valioso para mantener sistemas legacy.
Preguntas Frecuentes (FAQ)
¿Qué son los Devices y Segments en Sybase ASE?
Los Devices son archivos físicos de almacenamiento creados a nivel de SO. Los Segments permiten distribuir objetos (datos, logs, índices) entre los devices asignados a una database.
¿Cómo se administran las bases de datos Sybase mediante isql?
isql es la interfaz de línea de comandos que permite ejecutar stored procedures (sp_helpdb, sp_who, sp_lock) y comandos SQL directamente en el servidor ASE. Para dominar esta herramienta, consulta nuestra Guía de isql.
¿Qué importancia tiene la Data Cache?
Es fundamental para evitar lecturas de disco. Se pueden crear caches dedicados (Named Caches) para tablas críticas como BSEG para asegurar que sus datos residan siempre en memoria.