
Rescato del libro "Oracle 11g Underground Advice for Database Administrator's - Beyond the basics - A real-world DBA survival guide for Oracle 11g database implementations" escrito por April Sims y publicado por Packt Publishing el siguiente texto que lista atinadamente las actividades que como DBA deberían cumplirse, tomando en cuenta por supuesto el ambiente de trabajo ya que no todas aplican para todos los casos. Por ejemplo, una persona que fue contratada para estar a cargo de digamos 20 bases de datos con las que la empresa funciona, tiene muchas más responsabilidades que un consultor, ya que —en primer lugar— un consultor cobrará en la medida de su consumo de horas por atención y generalmente el costo de este servicio no es nada barato. Por supuesto que dependiendo del contrato, el consultor podrá desde realizar diagnósticos por tal o cual problema que la base de datos presenta, hasta implementar soluciones que bien corrigen problemas de desempeño o aplican nuevas funcionalidades todo esto en pro de mejorar los procesos informáticos organizacionales. Se puede decir que ambos cuentan con perfiles similares pero con distintas especializaciones.
Tareas como el monitoreo y rotación de logs pueden hacerse desde el Enterprise Manager, Grid Control, scripts shell de Unix, DBMS_SCHEDULER, Perl, herramientas de base de datos de terceros o combinaciones de algunos de estos.
Diarias
Semanales
Mensuales
Trimestrales
Anuales
Así es, se ve como un conjunto desolador de actividades qué realizar, sin embargo, se cuenta con el apoyo de herramientas tales como el OEM, Grid Control, monitoreo de terceros o scripts hechos a medida. Es por eso que se hace la reiteración de que la automatización de estas tareas es de gran importancia.
Si se generalizan varios de los puntos mencionados arriba, veremos que no aplican exclusivamente para la plataforma Oracle sino que pueden servir también como referencia para administrar otros manejadores de bases de datos.
¿Qué hace un DBA todo el día?
Entre las responsabilidades están, instalar, configurar y administrar la base de datos, estas responsabilidades pueden dividirse en tareas programadas para ejecutarse a ciertos intervalos. Lo anterior es una lista generalizada y dependiendo del lugar de trabajo pueden o no aplicar.Tareas como el monitoreo y rotación de logs pueden hacerse desde el Enterprise Manager, Grid Control, scripts shell de Unix, DBMS_SCHEDULER, Perl, herramientas de base de datos de terceros o combinaciones de algunos de estos.
Priorizando actividades—diarias, semanales, mensuales, trimestrales o anuales
Veamos cuales son las actividades prioritarias que se necesitan cubrir. La calendarización dependerá del lugar de trabajo, necesidades de la aplicación y el peso que tengan las actividades en general.Diarias
- Respaldos — usualmente son incrementales o acumulativas, uno completo por semana y los logs son almacenados y enviados por correo al DBA en caso de fallas.
- Alert Log de la base de datos — tales como errores ORA, notificaciones automáticas por correo, mensajes a localizadores.
- ADRCI — Automatic Repository Utility and Log Rotation.
- Espacio en el filesystem, CPU y estadísticas de I/O — requiere de apoyo del administrador del SO.
- Instrucciones SQL — Sentencias que están entre el top 5 y 10.
- Corrupción — logs de RMAN, logs de exports y/o datapump, dbverify, v$database_block_corruption.
- Crecimiento de tablespaces — crecerlos, administración de particiones, tablespaces temporales, undo.
- Data Guard — revisar en los logs que la aplicación/transporte esté en sincronía.
- Logs del listener SQL*NET — detección de intrusos.
- Auditoría de logs y evidencias — detección de intrusos, quitar cuentas sin uso.
- Dumps del core y usuario — espacio que ocupan, bugs de Oracle.
- Creación de nuevas cuentas — debería ser al menos automatizado parcialmente.
- Actualizar al usuario sobre la seguridad — al menos con 24 horas de anticipación.
- Migrar esquemas y cambios al código o actualizaciones específicas de SQL.
- Crecimiento de las tablas grandes, crecimiento uniforme del tablespace.
- Llevar un registro de los cambios diarios a la base de datos — publicarlos para ciertas personas del staff de IT.
Semanales
- Respaldos — usualmente de toda la base de datos.
- Clonaciones para bases de datos no productivas — automatizado o con scripts.
- Crecimiento de tablespaces — el diario acumulado en uno semanal.
- Mejora de versión de Oracle o proyectos de migración para aplicar parches — Actualizaciones significativas.
- Pruebas en sitio de Data Guard.
- Revisar actualizaciones de My Oracle Support(MOS) — nuevos parches, actualizaciones o nuevas versiones.
- Actualizaciones en la intranet local sobre procedimientos operacionales.
Mensuales
- Clonaciones para bases de datos no productivas — automatizado o con scripts.
- Monitoreo del crecimiento de tablespaces — el semanal acumulado en uno mensual.
- Tendencias y previsiones — consumo de CPU, estadísticas de I/O, accesos
- Cambio de passwords en producción — sys, system, wallet, schema, grid control, OAS.
- Licensiamiento de uso de Oracle y cuanto abarca.
- Poner en práctica escenarios de recuperación.
Trimestrales
- Aplicación de CPUs(Critical Patch Upate) y PSUs(Patch Set Updates) en producción con planeación de la suspensión del servicio. Aplicación de CPUs, PSUs una sola vez en instancias no productivas.
- Monitoreo del crecimiento de tablespaces — el mensual acumulado en un anual
- Cursos de actualización de Oracle — de Oracle University(en línea o presenciales), libros, encuentros informales.
- Acumulación de tendencias y previsiones.
Anuales
- Crecimiento de tablespaces — reporte anual.
- Suma de tendencias y previsiones.
- Ir a conferencias sobre Oracle — grupos de usuarios locales o nacionales.
- Actualizaciones de Oracle con suspensión de servicio planeado — versión + parches + PSUs + aplicación una sola vez.
- Licenciamiento de software y renovación de servicios.
- Evaluación y actualización de hardware.
- Renovación de certificados SSL, Oracle Wallets.
Así es, se ve como un conjunto desolador de actividades qué realizar, sin embargo, se cuenta con el apoyo de herramientas tales como el OEM, Grid Control, monitoreo de terceros o scripts hechos a medida. Es por eso que se hace la reiteración de que la automatización de estas tareas es de gran importancia.
Si se generalizan varios de los puntos mencionados arriba, veremos que no aplican exclusivamente para la plataforma Oracle sino que pueden servir también como referencia para administrar otros manejadores de bases de datos.
