Unidad 4 - Operación y mantenibilidad
4.1 - Bitácoras de trabajo del DBMS.
4.1.1 - Funciones específicas de las bitácoras.
La estructura más 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 (rolback)
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, ya que restauran la misma generando una copia de seguridad, incluso después de que se creen operaciones erróneas. Son cruciales para la recuperación de "crashes" en un servidor donde está siéndose hosteada la base de datos.
4.1.3 - Permanencia (commit)
El programa podría decidir que es necesario hacer fallar la transacción, con lo que el sistema deberá revertir todos los cambios hechos por las operaciones ya hechas. En SQL, se denomina "COMMIT".
Una sentencia COMMIT en SQL finaliza una transacción de base de datos dentro de un sistema SGDB relacional, y pone visibles todos los cambios a otros usuarios. También publicará cualquiera de los puntos de recuperación existentes que puedan estar en uso.
4.2 - Definición de los modos de operación de un DBMS. (Alta, baja, recovery)
El sistema de gestión de bases de datos es esencial para el adecuado funcionamiento y manipulación de los datos contenidos en la base.
Las funciones esenciales de un SGDB al manejar datos son:
*Descripción: Incluye la descripción tanto de los elementos, estructura, interrelaciones y validaciones.
*Manipulación: Permite buscar, añadir, suprimir y modificar los datos contenidos en la base de datos.
*Utilización: Permite acceder a la base de datos a nivel base como tal, para lo cual reúne las interfaces de los usuarios y suministra procedimientos para el administrador.
4.3 - Comandos de activación de los modos de operación
STARTUP: Para el arranque de una base de datos existen 3 fases:
*No montaje: Se leen los parámetros del sistema, se inician las estructuras de memoria y procesos de segundo plano. La instancia arranca sin asociarla a la base de datos. Normalmente, se utiliza cuando se modifica o se necesita crear el archivo de control. STARTUP NO MOUNT.
*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 registros a rehacer. STARTUP MOUNT
*Apertura: Se abren los archivos de datos y registros a rehacer. La base de datos queda disponible para las operaciones normales. Es necesario que existan registros rehacer; de lo contrario, usamos el comando RESETLOGS, que crea registros nuevos. STARTUP OPEN, ALTER DATABASE OPEN.
SHUTDOWN: Lo utilizamos para 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, ya que no admite conexiones y espera que las actuales finalicen. En el próximo arranque la base de 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, van desconectando a los usuarios. En el próximo arranque, la base de datos no requiere procedimientos de recuperación.
SHUTDOWN ABORT: Aborta todos de una base de datos. Durante el proceso de parada no permite nuevas conexiones, y las actuales las desconecta. Las transacciones que no estén en commit se les hará rollback. En el próximo arranque, la base de datos puede requerir procedimientos de recuperación.
DESCRIBE. Este comando permite conocer la estructura de una tabla, columnas y su tipo y restricciones. DESCRIBE F1;
SHOW TABLES Y SHOW CREATE TABLE: El primero muestra las tablas dentro de una base de datos, y el segundo, la estructura de creación de la tabla.
ALTER: Para realizaru na modificación, utilizamos el comando ALTER TABLE.
4.4 - Manejo de indices
El indice de una base de datos es una estructura alternativa de los datos en una tabla. El propósito de los indices 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 la base. Al aumentar, de manera drástica, la velocidad de acceso, se suelen usar sobre aquellos campos sobre los cuáles se hacen búsquedas frecuentes.
4.4.1 - Tipos de indices
*Agrupados: Definen el orden que almacenan las filas de la tabla. La clave del indice agrupado es el elemento clave para esta ordenación.
*No agrupados: Tienen la misma estructura del árbol b que los agrupados, con algunas matrices.
4.4.2 - Reorganización de indices
Un paquete puede usar la tarea -reorganizar-, para reorganizar los indices de una base de datos individual o de varias bases de datos.
La tarea reorganizar indice encapsula la instrucción ALTER INDEX de Transact-SQL.
4.4.3 - Reconstrucción de indices.
Es importante, periódicamente, examinar y determinar qué indices son susceptibles de ser reconstruidos. Cuando un indice está descompensado, puede ser porque algunas partes de éste han sido accedidas con mayor frecuencia que otras. Como resultado de sto, podemos obtener problemas de contención de disco o cuellos de botella en el sistema. Normalmente, creconstruimos un indice con el comando ALTER INDEX.
También es importante mantener 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 cuándo se ejecutaron sobre ese indice las estadísticas.
4.1.1 - Funciones específicas de las bitácoras.
La estructura más 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 (rolback)
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, ya que restauran la misma generando una copia de seguridad, incluso después de que se creen operaciones erróneas. Son cruciales para la recuperación de "crashes" en un servidor donde está siéndose hosteada la base de datos.
4.1.3 - Permanencia (commit)
El programa podría decidir que es necesario hacer fallar la transacción, con lo que el sistema deberá revertir todos los cambios hechos por las operaciones ya hechas. En SQL, se denomina "COMMIT".
Una sentencia COMMIT en SQL finaliza una transacción de base de datos dentro de un sistema SGDB relacional, y pone visibles todos los cambios a otros usuarios. También publicará cualquiera de los puntos de recuperación existentes que puedan estar en uso.
4.2 - Definición de los modos de operación de un DBMS. (Alta, baja, recovery)
El sistema de gestión de bases de datos es esencial para el adecuado funcionamiento y manipulación de los datos contenidos en la base.
Las funciones esenciales de un SGDB al manejar datos son:
*Descripción: Incluye la descripción tanto de los elementos, estructura, interrelaciones y validaciones.
*Manipulación: Permite buscar, añadir, suprimir y modificar los datos contenidos en la base de datos.
*Utilización: Permite acceder a la base de datos a nivel base como tal, para lo cual reúne las interfaces de los usuarios y suministra procedimientos para el administrador.
4.3 - Comandos de activación de los modos de operación
STARTUP: Para el arranque de una base de datos existen 3 fases:
*No montaje: Se leen los parámetros del sistema, se inician las estructuras de memoria y procesos de segundo plano. La instancia arranca sin asociarla a la base de datos. Normalmente, se utiliza cuando se modifica o se necesita crear el archivo de control. STARTUP NO MOUNT.
*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 registros a rehacer. STARTUP MOUNT
*Apertura: Se abren los archivos de datos y registros a rehacer. La base de datos queda disponible para las operaciones normales. Es necesario que existan registros rehacer; de lo contrario, usamos el comando RESETLOGS, que crea registros nuevos. STARTUP OPEN, ALTER DATABASE OPEN.
SHUTDOWN: Lo utilizamos para 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, ya que no admite conexiones y espera que las actuales finalicen. En el próximo arranque la base de 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, van desconectando a los usuarios. En el próximo arranque, la base de datos no requiere procedimientos de recuperación.
SHUTDOWN ABORT: Aborta todos de una base de datos. Durante el proceso de parada no permite nuevas conexiones, y las actuales las desconecta. Las transacciones que no estén en commit se les hará rollback. En el próximo arranque, la base de datos puede requerir procedimientos de recuperación.
DESCRIBE. Este comando permite conocer la estructura de una tabla, columnas y su tipo y restricciones. DESCRIBE F1;
SHOW TABLES Y SHOW CREATE TABLE: El primero muestra las tablas dentro de una base de datos, y el segundo, la estructura de creación de la tabla.
ALTER: Para realizaru na modificación, utilizamos el comando ALTER TABLE.
4.4 - Manejo de indices
El indice de una base de datos es una estructura alternativa de los datos en una tabla. El propósito de los indices 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 la base. Al aumentar, de manera drástica, la velocidad de acceso, se suelen usar sobre aquellos campos sobre los cuáles se hacen búsquedas frecuentes.
4.4.1 - Tipos de indices
*Agrupados: Definen el orden que almacenan las filas de la tabla. La clave del indice agrupado es el elemento clave para esta ordenación.
*No agrupados: Tienen la misma estructura del árbol b que los agrupados, con algunas matrices.
4.4.2 - Reorganización de indices
Un paquete puede usar la tarea -reorganizar-, para reorganizar los indices de una base de datos individual o de varias bases de datos.
La tarea reorganizar indice encapsula la instrucción ALTER INDEX de Transact-SQL.
4.4.3 - Reconstrucción de indices.
Es importante, periódicamente, examinar y determinar qué indices son susceptibles de ser reconstruidos. Cuando un indice está descompensado, puede ser porque algunas partes de éste han sido accedidas con mayor frecuencia que otras. Como resultado de sto, podemos obtener problemas de contención de disco o cuellos de botella en el sistema. Normalmente, creconstruimos un indice con el comando ALTER INDEX.
También es importante mantener 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 cuándo se ejecutaron sobre ese indice las estadísticas.
Comentarios
Publicar un comentario