ADMINISTRACIÓN DE BASE DE DATOS. OPERACIÓN Y MANTEBILIDAD. TARACENA CONTRERAS MARIO CÉSAR RUIZ MARTÍNEZ ADRIANA
ADMINISTRACIÓN DE BASE DE
DATOS. OPERACIÓN Y MANTEBILIDAD.
TARACENA CONTRERAS MARIO CÉSAR
RUIZ MARTÍNEZ ADRIANA
4.1 BITÁCORA DE TRABAJO DEL
DMBS. OPERACIÓN Y MANTEBILIDAD.
UNA BITÁCORA (LOG) ES UNA HERRAMIENTA (ARCHIVOS O REGISTROS) QUE PERMITE REGISTRAR, ANALIZAR, DETECTAR Y NOTIFICAR EVENTOS QUE SUCEDAN EN CUALQUIER SISTEMA DE INFORMACIÓN UTILIZADO EN LAS ORGANIZACIONES.
LA ESTRUCTURA MÁS AMPLIAMENTE USADA PARA GRABAR LAS ACCIONES QUE SE LLEVAN EN LA BASE DE DATOS.
NOS AYUDA A RECUPERAR LA INFORMACIÓN ANTE ALGUNOS INCIDENTES DE SEGURIDAD, DETECCIÓN DE COMPORTAMIENTO INUSUAL, INFORMACIÓN PARA RESOLVER PROBLEMAS, EVIDENCIA LEGAL, ES DE GRAN AYUDA EN LAS TAREAS DE COMPUTO FORENSE.
PUEDEN OBTENERSE DATOS ESPECÍFICOS DE LA TRANSACCIÓN COMO:
• 1. OPERACIÓN QUE SE REALIZÓ
• 2. USUARIO DE BD
• 3. FECHA
• 4. MÁQUINA
• 5. PROGRAMA
• 6. TIPO DE CONEXIÓN
• 7. ESTADO
NO SE REQUIERE HACER CAMBIOS EN LOS SISTEMAS DE PRODUCCIÓN O DE DESARROLLO O EN UNA SIMPLE INSTALACIÓN PARA LA IMPLEMENTACIÓN DE LA BITÁCORA.
A TRAVÉS DE LA PARAMETRIZACIÓN SE GENERAN LAS PANTALLAS DE CONSULTA Y REPORTES SIN NECESIDAD DE PROGRAMAR.
4.1. 1 FUNCIONES
ESPECÍFICAS DE LA BITÁCORA.
OPERACIÓN Y MANTEBILIDAD.
LA ESTRUCTURA MÁS AMPLIAMENTE USADA PARA GRABAR LAS MODIFICACIONES DE LA BASE DE DATOS ES LA BITÁCORA. CADA REGISTRO DE LA BITÁCORA ESCRIBE UNA ÚNICA ESCRITURA DE BASE DE DATOS Y TIENE LO SIGUIENTE:
NOMBRE DE LA TRANSACCIÓN
• VALOR ANTIGUO
• VALOR NUEVO
ES FUNDAMENTAL QUE SIEMPRE SE CREE UN REGISTRO EN LA BITÁCORA CUANDO SE REALICE UNA ESCRITURA ANTES DE QUE SE MODIFIQUE LA BASE DE DATOS.
LOS REGISTROS DE LA BITÁCORA DEBEN RESIDIR EN MEMORIA ESTABLE COMO RESULTADO EL VOLUMEN DE DATOS EN LA BITÁCORA PUEDE SER EXAGERADAMENTE GRANDE.
LAS OPERACIONES COMMIT Y ROLLBACK ESTABLECEN LO QUE SE LE CONOCE COMO PUNTO DE SINCRONIZACIÓN LO CUAL REPRESENTA EL LÍMITE ENTRE DOS TRANSACCIONES CONSECUTIVAS, O EL FINAL DE UNA UNIDAD LÓGICA DE TRABAJO, Y POR TANTO AL PUNTO EN EL CUAL LA BASE DE DATOS ESTA (O DEBERÍA ESTAR) EN UN ESTADO DE CONSISTENCIA.
LAS ÚNICAS OPERACIONES QUE ESTABLECEN UN PUNTO DE SINCRONIZACIÓN SON COMMIT, ROLLBACK Y EL INICIO DE UN PROGRAMA. CUANDO SE ESTABLECE UN PUNTO DE SINCRONIZACIÓN.
4.1.2 RECUPERACIÓN (ROLLBACK).
OPERACIÓN Y MANTEBILIDAD.
EN TECNOLOGÍAS DE BASE DE DATOS, UN ROLLBACK ES UNA OPERACIÓN QUE DEVUELVE A LA BASE DE DATOS A ALGÚN ESTADO PREVIO.
LOS ROLLBACKS SON IMPORTANTES PARA LA INTEGRIDAD DE LA BASE DE DATOS, A CAUSA DE QUE SIGNIFICAN QUE LA BASE DE DATOS PUEDE SER RESTAURADA A UNA COPIA LIMPIA INCLUSO DESPUÉS DE QUE SE HAN REALIZADO OPERACIONES ERRÓNEAS.
SON CRUCIALES PARA LA RECUPERACIÓN DE CRASHES DE UN SERVIDOR DE BASE DE DATOS; REALIZANDO ROLLBACK (DEVUELTO) CUALQUIER TRANSACCIÓN QUE ESTUVIERA ACTIVA EN EL TIEMPO DEL CRASH, LA BASE DE DATOS ES RESTAURADA A UN ESTADO CONSISTENTE.
EN SQL, ROLLBACK ES UN COMANDO QUE CAUSA QUE TODOS LOS CAMBIOS DE DATOS DESDE LA ÚLTIMA SENTENCIA BEGIN WORK, O START TRANSACTION SEAN DESCARTADOS POR EL SISTEMA DE GESTIÓN DE BASE DE DATOS RELACIONAL (RDBMS), PARA QUE EL ESTADO DE LOS DATOS SEA "ROLLED BACK"(DEVUELTO) A LA FORMA EN QUE ESTABA ANTES DE QUE AQUELLOS CAMBIOS TUVIERAN LUGAR.
UNA SENTENCIA ROLLBACK TAMBIÉN PUBLICARÁ CUALQUIER SAVEPOINT EXISTENTE QUE PUEDIERA ESTAR EN USO.
EN MUCHOS DIALECTOS DE SQL, LOS ROLLBACK SON ESPECÍFICOS DE LA CONEXIÓN. ESTO SIGNIFICA QUE SI SE HICIERON DOS CONEXIONES A LA MISMA BASE DE DATOS, UN ROLLBACK HECHO SOBRE UNA CONEXIÓN NO AFECTARÁ A CUALESQUIERA OTRAS CONEXIONES. ESTO ES VITAL PARA EL BUEN FUNCIONAMIENTO DE LA CONCURRENCIA.
4.1.3 PERMANENCIA (COMMIT).
OPERACIÓN Y MANTEBILIDAD.
EN EL CONTEXTO DE LA CIENCIA DE LA COMPUTACIÓN Y LA GESTIÓN DE DATOS, COMMIT(ACCIÓN DE COMPROMETER) SE REFIERE A LA IDEA DE CONSIGNAR UN CONJUNTO DE CAMBIOS "TENTATIVOS, O NO PERMANENTES". UN USO POPULAR ES AL FINAL DE UNA TRANSACCIÓN DE BASE DE DATOS.
UNA SENTENCIA COMMIT EN SQL FINALIZA UNA TRANSACCIÓN DE BASE DE DATOS DENTRO DE UN SISTEMA GESTOR DE BASE DE DATOS RELACIONAL (RDBMS) Y PONE VISIBLES TODOS LOS CAMBIOS A OTROS USUARIOS.
EL FORMATO GENERAL ES EMITIR UNA SENTENCIA BEGIN WORK, UNA O MÁS SENTENCIAS SQL, Y ENTONCES LA SENTENCIA COMMIT. ALTERNATIVAMENTE, UNA SENTENCIA ROLLBACK SE PUEDE EMITIR, LA CUAL DESHACE TODO EL TRABAJO REALIZADO DESDE QUE SE EMITIÓ BEGIN WORK. UNA SENTENCIA COMMIT PUBLICARÁ CUALQUIERA DE LOS SAVEPOINTS (PUNTOS DE RECUPERACIÓN) EXISTENTES QUE PUEDAN ESTAR EN USO.
4.2 DEFINICIÓN DE LOS
MODOS DE OPERACIÓN DE UN DBMS.
OPERACIÓN Y MANTEBILIDAD.
ALTAS. LA OPERACIÓN DE DAR DE ALTA UN DETERMINADO REGISTRO ES SIMILAR A LA DE AÑADIR DATOS A UN ARCHIVO. ES IMPORTANTE REMARCAR QUE EN UN ARCHIVO SECUENCIAL SÓLO PERMITE AÑADIR DATOS AL FINAL DEL MISMO.
EN OTRO CASO, SI SE QUIERE INSERTAR UN REGISTRO EN MEDIO DE LOS YA PRESENTES EN EL ARCHIVO, SERÍA NECESARIA LA CREACIÓN NUEVA DEL ARCHIVO.
EL ALGORITMO PARA DAR DE ALTA UN REGISTRO AL FINAL DEL FICHERO ES COMO SIGUE:
ALGORITMO ALTASLEER REGISTRO DE ALTAINICIOABRIR ARCHIVO PARA AÑADIRMIENTRAS HAYA MÁS REGISTROS HACER {ALGUNOS LENGUAJES AHORRAN ESTE BUCLE}LEER DATOS DEL REGISTROFIN_MIENTRASESCRIBIR (GRABAR) REGISTRO DE ALTA EN EL ARCHIVOCERRAR ARCHIVOFIN
BAJAS. EXISTEN DOS MÉTODOS PARA DAR DE BAJA A UN REGISTRO EN UN ARCHIVO SECUENCIAL, DONDE NO ES FÁCIL ELIMINAR UN REGISTRO SITUADO EN EL INTERIOR DE UNA SECUENCIA: PARA ELLO PODEMOS SEGUIR DOS MÉTODOS:
• 1) UTILIZAR Y POR TANTO CREAR UN SEGUNDO ARCHIVO AUXILIAR TRANSITORIO, TAMBIÉN SECUENCIAL, COPIA DEL QUE SE TRATA DE ACTUALIZAR. SE LEE EL ARCHIVO COMPLETO REGISTRO A REGISTRO Y EN FUNCIÓN DE SU LECTURA SE DECIDE SI EL REGISTRO SE DEBE DAR DE BAJA O NO. EN CASO AFIRMATIVO, SE OMITE LA ESCRITURA EN EL ARCHIVO AUXILIAR. SI EL REGISTRO NO SE VA A DAR DE BAJA, ESTE REGISTRO SE REESCRIBE EN EL ARCHIVO AUXILIAR
• 2) GUARDAR O SEÑALAR LOS REGISTROS QUE SE DESEAN DAR DE BAJA CON UN INDICADOR O BANDERA QUE SE GUARDA EN UN ARRAY; DE ESTA FORMA LOS REGISTROS NO SON BORRADOS FÍSICAMENTE, SINO QUE SON CONSIDERADOS COMO INEXISTENTES.
RECOVERY. NORMALMENTE, LAS TAREAS DE ADMINISTRACIÓN DE SEGURIDAD SON LAS SIGUIENTES:
• PLANIFICACIÓN Y PROBAR LAS RESPUESTAS A DIFERENTES TIPOS DE FALLAS.
• CONFIGURACIÓN DEL ENTORNO DE BASE DE DATOS DE COPIA DE SEGURIDAD Y RECUPERACIÓN.
• LA CREACIÓN DE UN PROGRAMA DE COPIA DE SEGURIDAD
• SEGUIMIENTO DE LA COPIA DE SEGURIDAD Y ENTORNO DE RECUPERACIÓN
• SOLUCIÓN DE PROBLEMAS DE COPIA DE SEGURIDAD
• PARA RECUPERARSE DE LA PÉRDIDA DE DATOS EN CASO DE NECESIDAD
COMO ADMINISTRADOR DE COPIA DE SEGURIDAD, ES POSIBLE QUE SE LE PIDA QUE REALICE OTROS DEBERES QUE SE
RELACIONAN CON COPIA DE SEGURIDAD Y RECUPERACIÓN:
• LA PRESERVACIÓN DE DATOS, LO QUE IMPLICA LA CREACIÓN DE UNA COPIA DE BASE DE DATOS PARA EL
ALMACENAMIENTO A LARGO PLAZO
• LA TRANSFERENCIA DE DATOS, LO QUE IMPLICA EL MOVIMIENTO DE DATOS DE UNA BASE DE DATOS O UN HOST A OTRO.
4.3 COMANDOS DE
ACTIVACIÓN DE LOS
MODOS DE OPERACIÓN. OPERACIÓN Y MANTEBILIDAD.
• COMANDO STARTUP
PARA EL ARRANQUE DE UNA BASE DE DATOS HAY TRES FASES DE ARRANQUE, PARA REALIZAR ESTAS FASES PODEMOS UTILIZAR STARTUP MÁS UN COMANDO, LAS TRES FASES SON LAS SIGUIENTES:
• FASE DE NO MONTAJE: SE LEEN LOS PARÁMETROS DEL SISTEMA, SE INICIAN LAS ESTRUCTURAS DE MEMORIA Y LOS PROCESOS DE SEGUNDO PLANO. LA INSTANCIA SE ARRANCA SIN ASOCIARLA A LA BASE DE DATOS. NORMALMENTE SE UTILIZA CUANDO SE MODIFICA O SE NECESITA CREAR EL ARCHIVO DE CONTROL:
STARTUP NOMOUNT ;
• FASE DE MONTAJE: SE ASOCIA LA INSTANCIA CON LA BASE DE DATOS. SE USA EL ARCHIVO DE PARÁMETROS PARA LOCALIZAR LOS ARCHIVOS DE CONTROL, QUE CONTIENEN EL NOMBRE DE LOS ARCHIVOS DE DATOS Y LOS REGISTROS REHACER. LOS ARCHIVOS DE DATOS Y LOS REGISTROS DE REHACER NO ESTÁN ABIERTOS, ASÍ QUE NO SON ACCESIBLES POR USUARIOS FINALES PARA TAREAS NORMALES. PARA REALIZAR ESTA FASE SE PUEDEN UTILIZAR DOS COMANDOS:
STARTUP MOUNT;
ALTER DATABASE MOUNT;
• FASE DE APERTURA: SE ABREN LOS ARCHIVOS DE DATOS Y LOS REGISTROS REHACER.
LA BASE DE DATOS QUEDA DISPONIBLE PARA LAS OPERACIONES NORMALES. ES
NECESARIO QUE EXISTAN REGISTROS REHACER DE LO CONTRARIO SI NO HAY
REGISTROS USAMOS EL COMANDO RESETLOGS, QUE CREA REGISTROS NUEVOS. PARA
ESTA FASE SE PUEDEN USAR DOS COMANDOS:
STARTUP OPEN;
ALTER DATABASE OPEN;
SI ES NECESARIO UTILIZAR RESETLOGS
STARTUP OPEN RESETLOGS;
LA BD).
• COMANDO SHUTDOWN
EL COMANDO SHUTDOWN LO UTILIZAMOS PARAR UNA BASE DE DATOS LA CUAL
CONSISTE EN VARIAS CLÁUSULAS.
• SHUTDOWN NORMAL: ESTE ES EL VALOR POR DEFECTO, DURANTE EL PROCESO DE PARADA NO
ADMITE NUEVAS CONEXIONES Y ESPERA QUE LAS CONEXIONES ACTUALES FINALICEN. EN EL
PRÓXIMO ARRANQUE LA BASE DATOS NO REQUIERE PROCEDIMIENTOS DE RECUPERACIÓN.
• SHUTDOWN IMMEDIATE: SE PRODUCE UNA PARADA INMEDIATA DE LA BASE DE DATOS, DURANTE
EL PROCESO DE PARADA NO PERMITE NUEVAS CONEXIONES Y LAS ACTUALES LA DESCONECTA,
LAS TRANSACCIONES QUE NO ESTÉN COMMIT SE HARA ROOLBACK DE ELLAS. EN EL PRÓXIMO
ARRANQUE LA BASE DATOS NO REQUIERE PROCEDIMIENTOS DE RECUPERACIÓN.
• SHUTDOWN TRANSACTIONAL: SE PRODUCE UNA PARADA HASTA QUE HAYAN TERMINADO LAS
TRANSACCIONES ACTIVAS, NO ADMITE NUEVAS CONEXIONES Y TAMPOCO NUEVAS
TRANSACCIONES, UNA VEZ QUE LAS TRANSACCIONES ACTIVAS VAN TERMINANDO VA
DESCONECTANDO A LOS USUARIOS. EN EL PRÓXIMO ARRANQUE LA BASE DATOS NO REQUIERE
PROCEDIMIENTOS DE RECUPERACIÓN.
4.4 MANEJO DE ÍNDICES.
OPERACIÓN Y MANTEBILIDAD.
EL ÍNDICE DE UNA BASE DE DATOS ES UNA ESTRUCTURA ALTERNATIVA DE LOS DATOS EN UNA TABLA. EL PROPÓSITO DE LOS ÍNDICES ES ACELERAR EL ACCESO A LOS DATOS MEDIANTE OPERACIONES FÍSICAS MÁS RÁPIDAS Y EFECTIVAS. EN POCAS PALABRAS, SE MEJORAN LAS OPERACIONES GRACIAS A UN AUMENTO DE LA VELOCIDAD, PERMITIENDO UN RÁPIDO ACCESO A LOS REGISTROS DE UNA TABLA EN UNA BASE DE DATOS.
AL AUMENTAR DRÁSTICAMENTE LA VELOCIDAD DE ACCESO, SE SUELEN USAR SOBRE AQUELLOS CAMPOS SOBRE LOS CUÁLES SE HACEN BÚSQUEDAS FRECUENTES.
4.4.1 TIPOS DE ÍNDICES.
OPERACIÓN Y MANTEBILIDAD.
EL ÍNDICE DE UNA BASE DE DATOS ES UNA ESTRUCTURA ALTERNATIVA DE LOS DATOS EN UNA TABLA. EL PROPÓSITO DE LOS ÍNDICES ES ACELERAR EL ACCESO A LOS DATOS MEDIANTE OPERACIONES FÍSICAS MÁS RÁPIDAS Y EFECTIVAS. EN POCAS PALABRAS, SE MEJORAN LAS OPERACIONES GRACIAS A UN AUMENTO DE LA VELOCIDAD, PERMITIENDO UN RÁPIDO ACCESO A LOS REGISTROS DE UNA TABLA EN UNA BASE DE DATOS.
AL AUMENTAR DRÁSTICAMENTE LA VELOCIDAD DE ACCESO, SE SUELEN USAR SOBRE AQUELLOS CAMPOS SOBRE LOS CUÁLES SE HACEN BÚSQUEDAS FRECUENTES.
4.4.2
REORGANIZACIÓN DE ÍNDICES.
OPERACIÓN Y MANTEBILIDAD.
• RAGMENTACIÓN DE LOS ÍNDICES: LA FRAGMENTACIÓN ES CONSECUENCIA DE LOS
PROCESOS DE MODIFICACIÓN DE LOS DATOS (INSTRUCCIONES INSERT, UPDATE Y
DELETE) EFECTUADOS EN LA TABLA Y EN LOS ÍNDICES DEFINIDOS EN LA TABLA.
• INTERNA: FRAGMENTACIÓN DENTRO DE PÁGINAS INDIVIDUALES DE DATOS E ÍNDICES
CON ESPACIOS LIBRES QUE GENERAN LA NECESIDAD DE MÁS OPERACIONES DE E/S Y
MÁS MEMORIA PARA SU LECTURA. ESTE HECHO DISMINUYE EL RENDIMIENTO EN
AMBIENTES DE LECTURA, PERO EN ALGUNOS CASOS PUEDE BENEFICIAR LAS
INSERCIONES, QUE NO REQUIEREN UNA DIVISIÓN DE PÁGINAS CON TANTA
FRECUENCIA.
• EXTERNA: CUANDO EL ORDEN LÓGICO DE LAS PÁGINAS NO ES CORRECTO, PORQUE
LAS PÁGINAS NO SON CONTIGUAS. EL ACCESO A LOS DATOS ES MUCHO MÁS LENTO
POR LA NECESIDAD DE BÚSQUEDA DE LOS DATOS.
4.4.3
RECONSTRUCCIÓN DE ÍNDICES.
OPERACIÓN Y MANTEBILIDAD.
ES IMPORTANTE PERIÓDICAMENTE EXAMINAR Y DETERMINAR QUÉ ÍNDICES SON SUSCEPTIBLES DE SER RECONSTRUIDOS. CUANDO UN ÍNDICE ESTÁ DESCOMPENSADO PUEDE SER PORQUE ALGUNAS PARTES DE ÉSTE HAN SIDO ACCEDIDAS CON MAYOR FRECUENCIA QUE OTRAS. COMO RESULTADO DE ESTE SUCESO PODEMOS OBTENER PROBLEMAS DE CONTENCIÓN DE DISCO O CUELLOS DE BOTELLA EN EL SISTEMA. NORMALMENTE RECONSTRUIMOS UN ÍNDICE CON EL COMANDO ALTER INDEX.
ES IMPORTANTE TENER ACTUALIZADAS LAS ESTADÍSTICAS DE LA BASE DE DATOS. PARA SABER SI LAS ESTADÍSTICAS SE ESTÁN LANZANDO CORRECTAMENTE PODEMOS HACER UNA CONSULTA SOBRE LA TABLA DBA_INDEXES Y VER EL CAMPO LAST_ANALYZED PARA OBSERVAR CUANDO SE EJECUTARON SOBRE ESE ÍNDICE LAS ESTADÍSTICAS.