El Estándar de Facto Histórico
Durante décadas, Oracle Database ha sido sinónimo de SAP en entornos enterprise. Su madurez, robustez y capacidades de clustering la convirtieron en la elección por defecto para instalaciones críticas.
Aunque SAP HANA es el futuro, Oracle sigue corriendo la mayoría de sistemas ECC en producción a nivel mundial. Un administrador BASIS debe dominar Oracle para ser efectivo en el panorama actual.
Oracle RAC: High Availability Real
Real Application Clusters (RAC) es la tecnología de clustering de Oracle que permite múltiples instancias accediendo simultáneamente a la misma base de datos.
Arquitectura Técnica
- Shared Storage: Todos los nodos acceden a los mismos datafiles vía SAN (Fibre Channel o iSCSI). No hay replicación; es storage compartido real.
- Cache Fusion: Mecanismo que sincroniza bloques de datos modificados entre las SGA de diferentes instancias vía interconnect (red de baja latencia, típicamente 10/40GbE).
- OCR (Oracle Cluster Registry): Base de datos mini que guarda configuración del cluster (qué nodos, qué IPs, qué recursos).
- Voting Disk: Mecanismo de quorum. Si un nodo pierde acceso a la mayoría de voting disks, se auto-excluye del cluster para evitar split-brain.
ASM (Automatic Storage Management)
Oracle recomienda usar ASM en lugar de filesystems tradicionales. ASM es un volume manager + filesystem integrado que:
- Balancea I/O automáticamente entre disks.
- Rebalancea datos cuando se añaden/eliminan disks.
- Provee mirroring (redundancia) sin LVM externo.
En SAP, ASM requiere instancia separada (+ASM) que corre en cada nodo RAC.
Administración Diaria con Transacciones SAP
SAP proporciona transacciones que abstraen la complejidad de Oracle:
DB02: Monitorización de Espacio
La transacción DB02 es el "panel de control" del DBA BASIS. Muestra:
- Tablespace Usage: Uso actual vs máximo. Alerta cuando >85%.
- Fragmentación: Tablespaces con fragmentación excesiva que requieren reorganización.
- Missing Indexes: Detecta tablas grandes sin índices en columnas usadas en WHERE.
- Top Growing Tables: Identifica tablas con crecimiento anormal.
ST04: Performance Analysis
ST04 es la puerta de entrada al análisis de performance Oracle:
- Buffer Hit Ratio: Debe estar >90%. Si está bajo, aumentar db_cache_size.
- Wait Events: El 80% del tuning Oracle. Eventos críticos:
db file sequential read: I/O de single-block (index scans). Alto indica problemas de índices o disco lento.db file scattered read: I/O de multi-block (full table scans). Alto indica queries mal optimizadas.log file sync: Espera de confirmación de commit. Indica discos de redo log lentos.
DB13: Backup Scheduler
DB13 permite programar backups sin tocar cron o scripts manuales. Integra con BR*Tools.
BR*Tools: La Suite SAP para Oracle
SAP desarrolló BR*Tools para estandarizar operaciones de backup/restore en Oracle:
brbackup
Backup de datafiles. Opciones clave:
brbackup -t online -m full # Backup completo en caliente brbackup -t online -m incr # Backup incremental brbackup -c -d util_file # Backup de control files
brarchive
Backup de archive logs (redo logs archivados). Esencial para point-in-time recovery:
brarchive -sd # Backup de todos los archive logs disponibles
brrestore + brrecover
Restauración y recovery. El proceso típico tras pérdida de datafile:
brrestore -b <backup_id> -m full # Restaurar datafiles brrecover -m all -c # Aplicar archive logs hasta el último commit
Integración backint
BR*Tools soportan backint, una API que permite delegar el almacenamiento de backups a software corporativo (NetBackup, CommVault, TSM). BR*Tools genera los backups, pero el software externo se encarga de escribirlos a cinta/cloud.
AWR y ASH: Diagnóstico Avanzado
AWR (Automatic Workload Repository)
Oracle captura snapshots de métricas cada hora. Los reportes AWR muestran:
- Top SQL: Queries que más CPU/IO/tiempo consumen.
- Wait Events Analysis: Distribución de esperas.
- Load Profile: Transacciones/seg, logical reads/seg.
Generar reporte AWR:
@$ORACLE_HOME/rdbms/admin/awrrpt.sql
ASH (Active Session History)
Muestreo de sesiones activas cada segundo. Útil para diagnosticar incidentes puntuales ("¿Por qué el sistema se colgó a las 3 PM?").
@$ORACLE_HOME/rdbms/admin/ashrpt.sql
Tuning de Parámetros Críticos
Los parámetros Oracle clave para SAP:
Memoria (SGA)
sga_target: Tamaño total de la SGA (System Global Area). SAP recomienda 75% de la RAM en sistemas dedicados.db_cache_size: Buffer cache para bloques de datos. Auto-gestionado si usas sga_target.shared_pool_size: Cache de SQL parsed statements. Si está bajo, verás "SQL parse CPU" alto.
I/O
db_file_multiblock_read_count: Cuántos bloques lee Oracle en una operación de full table scan. SAP recomienda dejar en default (Oracle lo ajusta automáticamente).filesystemio_options: Debe sersetallpara habilitar async I/O y direct I/O.
Redo Logs
- Tamaño de redo log: Mínimo 500MB en sistemas SAP medianos, 2GB en grandes.
- Ubicación: Discos rápidos y separados de datafiles para evitar contention.
Troubleshooting de Problemas Comunes
Problema: "ORA-01555: Snapshot Too Old"
Causa: Un query largo intenta leer datos que ya fueron modificados y el UNDO segment fue reutilizado.
Solución: Aumentar undo_retention (tiempo mínimo que Oracle retiene UNDO) o
aumentar el tablespace UNDO.
Problema: "Tablespace PSAPSR3 lleno"
Solución Inmediata: Añadir datafile al tablespace en DB02 → "Space" →
"Extend Tablespace".
Solución Permanente: Investigar qué tabla está creciendo anormalmente (usar
DB02 → "Top Growing Tables").
Problema: "Performance degradada tras upgrade"
Causa Común: Estadísticas del optimizer desactualizadas.
Solución: Ejecutar brconnect -u / -c -f stats -t all para regenerar
estadísticas de todas las tablas.
Preguntas Frecuentes (FAQ)
¿Qué es Oracle RAC?
Es la tecnología de clustering de Oracle (Real Application Clusters) que permite que múltiples instancias de base de datos accedan a los mismos datos de forma simultánea.
¿Para qué sirven las BR*Tools en SAP?
Son herramientas especializadas de SAP (brbackup, brarchive, brrestore, etc.) que estandarizan y facilitan la administración, backups y recuperación de Oracle.
¿Qué significan los Wait Events en Oracle?
Son estadísticas que indican en qué está esperando la base de datos (lectura de disco, escritura de log, bloqueos), siendo la pieza clave para el tuning de rendimiento.
Páginas relacionadas
SAP BASIS (Administración que interactúa con DB)
SQL Server en SAP (Comparativa de HA: RAC vs Always On)