Unidad 4:
Operación y Mantenibilidad
4.1 Bitácoras de
Trabajo del DBMS
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.
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
4.1.1 Funciones Específicas de las Bitácora
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.
4.1.2 Recuperación (Rollback)
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.
4.1.3 Permanencia (Commit)
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.
En términos de transacciones, lo opuesto de commit para
descartar los cambios "en tentativa" de una transacción, es un
rollback.
4.2 Definición de los Modos de Operación de un DBMS (Alta,
Baja, Recovery)
La vida de todo archivo comienza cuando se crea y acaba
cuando se borra. Durante su existencia es objeto de constante procesamiento,
que con mucha frecuencia incluye acciones de consulta o búsqueda y de
actualización. En el caso de la estructura archivos, entenderemos como
actualización, además de las operaciones, vistas para vectores y listas
enlazadas, de introducir nuevos datos (altas) o de eliminar alguno existente
(bajas), la modificación de datos ya existentes, (operación muy común con datos
almacenados). En esencia, es la puesta al día de los datos del archivo.
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.
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
Tras terminar la lectura del archivo original, se tendrán
dos archivos: original (o maestro) y auxiliar. El proceso de bajas del archivo
concluye borrando el archivo original y cambiando el nombre del archivo
auxiliar por el del inicial.
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.
Propósito de Backup y Recuperación
Como administrador de copia de seguridad, la tarea principal
es diseñar, implementar y gestionar una estrategia de backup y recuperación. En
general, el propósito de una estrategia de recuperación de copia de seguridad y
es para proteger la base de datos contra la pérdida de datos y reconstruir la
base de datos después de la pérdida de datos.
4.3 Comandos de Activación para los Modos de Operación
Para ser uso de los diferentes comandos para un modo de
operación debemos estar como administrador o asuma un rol que incluya el perfil
de derechos Service Management.
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;
alter
database open resetlogs;
startup restrict (sólo permite la conexión de usuarios con
el privilegio restricted sesion).
startup force (hace shutdown abort y arranca 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.
Shutdown Abort: Aborta todos los procesos de una 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 hará roolback de ellas.
En el próximo arranque la base datos puede requerir procedimientos de
recuperación.
Comando Describe
Este comando permite conocer la estructura de una tabla, las
columnas que la forman y su tipo y restricciones.
DESCRIBE
f1;
Comando
SHOW TABLES y SHOW CREATE TABLE
El comando SHOW TABLES muestra las tablas dentro de una base
de datos y SHOW CREATE TABLES muestra la estructura de creación de la tabla.
Modificación
Para realizar una modificación utilizamos el comando ALTER
TABLE. Para usar ALTER TABLE, necesita permisos ALTER, INSERT y CREATE para la
tabla.
4.4.- Manejo de Índices
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
Un índice es una estructura opcional, asociado con una mesa
o tabla de clúster, que a veces puede acelerar el acceso de datos. Mediante la
creación de un índice en una o varias columnas de una tabla, se obtiene la
capacidad en algunos casos, para recuperar un pequeño conjunto de filas distribuidas
al azar de la tabla. Los índices son una de las muchas formas de reducir el
disco I / O.
4.4.2 Reorganización de Índices.
Un factor clave para conseguir una E/S de disco mínima para
todas las consultas de bases de datos es asegurarse de que se creen y se
mantengan buenos índices. Una vez creados los índices, se debe procurar
mantenerlos para asegurarse que sigan trabajando en forma óptima. A medida que
se agregan, modifican o borran datos se produce fragmentación. Esta fragmentación
puede ser buena o mala para el rendimiento del sistema, dependiendo de las
necesidades del trabajo de la base de datos.
4.4.3 Reconstrucción de Índices
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.