
Oracle
Oracle es la base de datos que me formó profesionalmente.
Trabajo con ella desde 1996, y en casi treinta años he visto pasar versiones, paradigmas y modas — pero el corazón del motor ha seguido siendo el mismo: sólido, complejo, despiadado con quien no lo conoce a fondo.
He gestionado instancias de unos pocos cientos de usuarios y data warehouses de miles de millones de filas. Configuré Data Guard cuando aún se llamaba standby database, escribí PL/SQL cuando depurar significaba DBMS_OUTPUT y paciencia, diseñé esquemas de particionamiento antes de que se convirtieran en una feature de marketing.
Oracle no es una base de datos que se aprende con tutoriales.
Se aprende con incidentes, con migraciones a las tres de la madrugada, con planes de ejecución que cambian tras una actualización de estadísticas.
En esta sección cuento lo que he aprendido en el campo: arquitectura, seguridad, rendimiento y las decisiones de diseño que separan una instalación que funciona de una que simplemente sobrevive.
Porque con Oracle no basta conocer la sintaxis.
Hay que entender cómo razona el motor.
Oracle en Linux: los parámetros del kernel que nadie configura
Un cliente con Oracle 19c en Linux y rendimiento decepcionante. Instalación por defecto, sin tuning. Huge Pages, semáforos, I/O scheduler, THP y límites de seguridad: todo lo que faltaba — con los números del antes y después.
AWR, ASH y los 10 minutos que salvaron un go-live
Viernes por la noche, víspera de un go-live. El rendimiento se desploma. Con AWR y ASH encontré un full table scan oculto en un procedimiento almacenado en menos de diez minutos — y el paso a producción siguió adelante.
Usuarios, roles y privilegios en Oracle: por qué GRANT ALL nunca es la respuesta
Un cliente donde todos los usuarios aplicativos se conectaban como schema owner con el rol DBA. Cómo reestructuré el modelo de seguridad Oracle aplicando el principio del mínimo privilegio — con SQL real, roles personalizados y Unified Audit.
Oracle Partitioning: cuando 2 mil millones de filas ya no caben en una query
Un cliente con una tabla de transacciones de 2 mil millones de filas y consultas de reportes que habían pasado de segundos a horas. Cómo lo resolví con partitioning Oracle — range, interval, partition pruning e índices locales.
De single instance a Data Guard: el día en que el CEO entendió el DR
Una base de datos Oracle en producción sin ninguna redundancia. Un fallo de disco que lo paró todo durante seis horas. Y la decisión del CEO de invertir en una arquitectura Active Data Guard con switchover automático.




