Sei sulla pagina 1di 27

4.

OPERACIN Y MANTENIMIENTO

ADMINISTRACIN DE BASES DE DATOS

1
4.1 ARCHIVOS LOG DEL SGBD

Archivos log del SGBD


Todas las bases de datos de SQL Server tienen un registro de transacciones
que registra todas las transacciones y las modificaciones que cada
transaccin realiza en la base de datos.

El registro de transacciones es un componente esencial de la base de datos.


Si hay un error del sistema, ese registro ser necesario para devolver la
base de datos a un estado coherente.

El registro de transacciones se debe truncar peridicamente para evitar que


se llene.

2
4.1 ARCHIVOS LOG DEL SGBD

Bitcoras de trabajo del SGBD


En caso de que sea multiusuario existen muchas ventajas adicionales,
donde la BD es con toda probabilidad mucho ms grande y compleja. Ofrece
control centralizado de su informacin.
Es compacto: no hacen falta archivos de papales que pudieran ocupar
mucho espacio.
Es rpido: la mquina puede obtener y modificar con mucha mayor
velocidad que un ser humano.
Es menos laborioso: se elimina gran parte del tedio de mantener archivos a
mano.
Es actual: se dispone en cualquier momento de informacin precisa y al da.

3
4.1 ARCHIVOS LOG DEL SGBD

Bitcoras de trabajo del SGBD


Tiene an ms importancia, en un ambiente multiusuario, donde la BD es
con toda probabilidad mucho ms grande y compleja que un uno de un solo
usuario.
El sistema de BD ofrece a la empresa un control centralizado de su
30/8/2017 informacin. UNIDAD 4 :: Administracion Bases de Datos

4.1.1.Funcionesespecificadelasbitacoras.

LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebasededatosytienelo
siguiente:


4.1 ARCHIVOS LOG DEL SGBD

Bitcoras de trabajo del SGBD


En muchos SGBD la bitcora incluye todo tipo de consulta incluyendo
aquellas que no modifican los datos.
La operacin ROLLBACK est basada en el uso de una bitcora.
El SGBD mantiene una bitcora o diario en cinta o en disco, comnmente,
en el cual se registran los detalles de todas las operaciones de actualizacin,
en particular, los valores iniciales y final del objeto modificado.
Por tanto, si resulta necesario anular alguna modificacin especifica, el
sistema puede utilizar la entrada correspondiente de la bitcora para
restaurar el valor original del objeto restaurado.
30/8/2017 UNIDAD 4 :: Administracion Bases de Datos

4.1.1.Funcionesespecificadelasbitacoras.

LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebasededatosyti
siguiente:


4.1 ARCHIVOS LOG DEL SGBD

Funciones especifica de las bitcoras


La estructura ms ampliamente usada para grabar las modificaciones de la
base de datos es la Bitcora.

Cada registro de la bitcora escribe una nica escritura de base de datos y


tiene lo siguiente:
Nombre de la Transaccin
Valor antiguo
Valor Nuevo
30/8/2017 UNIDAD 4 :: Administracion Bases de Datos

4.1.1.Funcionesespecificadelasbitacoras.

LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebasededatosyti
siguiente:


30/8/2017 UNIDAD 4 :: Administracion Bases de Datos

4.1 ARCHIVOS LOG DEL SGBD

Funciones especifica de las bitcoras


Los registros de la bitcora deben residir en memoria estable como resultado


4.1.1.Funcionesespecificadelasbitacoras.

el volumen de datos en la bitcora puede ser exageradamente grande.


LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebase
siguiente:

Las operaciones COMMIT y ROLLBACK establecen lo que se le conoce


NombredelaTransaccion

como Valorantiguo

ValorNuevo

punto de sincronizacin lo cual representa el limite entre dos transacciones


Esfundamentalquesiempresecreeunregistroenlabitcoracuandoserealiceunaescrituraantesdequesemodifiquelabasededatos.

consecutivas, o el final de una unidad lgica de trabajo, y por tanto al punto


Tambintenemoslaposibilidaddedeshacerunamodificacinqueyasehaescritoenlabasededatos,estoserealizarusandoelcampodelvalorantiguodelosregistr

en el cual la base de datos esta (o debera estar) en un estado de


Losregistrosdelabitcoradebenresidirenmemoriaestablecomoresultadoelvolumendedatosenlabitcorapuedeserexageradamentegrande.

consistencia. LasoperacionesCOMMITyROLLBACKestablecenloqueseleconocecomopuntodesincronizacinlocualrepresentaellmiteentredostransaccionesconsecutivas,
unidadlgicadetrabajo,yportantoalpuntoenelcuallabasededatosesta(odeberaestar)enunestadodeconsistencia.Lasnicasoperacionesqueestablecenunp
sonCOMMIT,ROLLBACKyeliniciodeunprograma.Cuandoseestableceunpuntodesincronizacin:

Las nicas operaciones que establecen un punto de sincronizacin son


COMMIT, ROLLBACK y el inicio de un programa.


http://proyecto359.webnode.mx/unidad4/

7
4.1 ARCHIVOS LOG DEL SGBD

Recuperacin (rollback)
En tecnologas de base de datos, un rollback es una operacin que devuelve
a la base de datos a algn 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 despus de que se han realizado operaciones errneas.
Son cruciales para la recuperacin de crashes de un servidor de base de
datos; realizando rollback(devuelto) cualquier transaccin que estuviera
activa en el tiempo del crash, la base de datos es restaurada a un estado
consistente. 30/8/2017 UNIDAD 4 :: Administracion Bases de Datos

4.1.1.Funcionesespecificadelasbitacoras.

LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebasededatosyti
siguiente:


4.1 ARCHIVOS LOG DEL SGBD

Recuperacin (rollback)
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 gestin 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.
Tambin publicar cualquier savepoint existente que pudiera estar en uso.
En algunos lenguajes de SQL, ROLLBACKs son especficos de la conexin.
Esto es vital para el buen funcionamiento de la Concurrencia.
30/8/2017 UNIDAD 4 :: Administracion Bases de Datos

4.1.1.Funcionesespecificadelasbitacoras.

LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebasededatosyti
siguiente:


4.1 ARCHIVOS LOG DEL SGBD

Permanencia (commit)
En cualquier momento, el programa podra decidir que es necesario hacer
fallar la transaccin, con lo que el sistema debera revertir todos los cambios
hechos por las operaciones ya hechas.
En el lenguaje SQL se denomina COMMIT a aplicar_cambios y ROLLBACK a
cancelar_cambios.
Las transacciones suelen verse implementadas en sistemas de bases de
datos y, ms recientemente, se han visto incorporadas a como gestiona un
sistema operativo la interaccin con un sistema de archivos (como varias
caractersticas de las bases de datos, debido a que son muy similares
30/8/2017 UNIDAD 4 :: Administracion Bases de Datos

arquitectnicamente).

10

4.1.1.Funcionesespecificadelasbitacoras.

LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebasededatosyti
siguiente:


4.1 ARCHIVOS LOG DEL SGBD

Permanencia (commit)
Una sentencia COMMIT en SQL finaliza una transaccin 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 ms


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 recuperacin) existentes
30/8/2017 UNIDAD 4 :: Administracion Bases de Datos

que puedan estar en uso.

11

4.1.1.Funcionesespecificadelasbitacoras.

LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebasededatosyti
siguiente:


4.2 DEFINICIN DE LOS MODOS DE OPERACIN
DE UN DBMS
Definicin de los modos de operacin de un SGDB. (alta, baja, recovery)
El sistema de gestin de bases de datos es esencial para el adecuado
funcionamiento y manipulacin de los datos contenidos en la base. Se puede
definir como:

"El Conjunto de programas, procedimientos, lenguajes, etc. que suministra, tanto a los
usuarios no informticos como a los analistas, programadores o al administrador, los
medios necesarios para describir, recuperar y manipular los datos almacenados en la
base, manteniendo su integridad, confidencialidad y seguridad".
30/8/2017 UNIDAD 4 :: Administracion Bases de Datos

12

4.1.1.Funcionesespecificadelasbitacoras.

LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebaseded
siguiente:


4.2 DEFINICIN DE LOS MODOS DE OPERACIN
DE UN DBMS
Definicin de los modos de operacin de un SGDB. (alta, baja, recovery)
Las funciones esenciales de un SGDB son la descripcin, manipulacin y
utilizacin de los datos.
Descripcin: Incluye la descripcin de: Los elementos de datos, su estructura, sus
interrelaciones, sus validaciones. Tanto a nivel externo como lgico global e interno esta
descripcin es realizada mediante un LDD o Lenguaje de Descripcin de Datos.

Manipulacin: Permite: Buscar, Aadir, Suprimir y Modificar los datos contenidos en la


Base de Datos.

30/8/2017 UNIDAD 4 :: Administracion Bases de Datos

13

4.1.1.Funcionesespecificadelasbitacoras.

LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebaseded
siguiente:


4.2 DEFINICIN DE LOS MODOS DE OPERACIN
DE UN DBMS
Definicin de los modos de operacin de un SGDB. (alta, baja, recovery)
Las funciones esenciales de un SGDB son la descripcin, manipulacin y
utilizacin de los datos.
La manipulacin misma supone: Definir un criterio de seleccin, Definir la estructura
lgica a recuperar, Acceder a la estructura fsica. Esta manipulacin es realizada
mediante un Lenguaje de Manipulacin de Datos (LMD).

Utilizacin: La utilizacin permite acceder a la base de datos, no a nivel de datos sino a


la base como tal, para lo cual rene las interfaces de los usuarios y suministra
procedimientos para el administrador.
30/8/2017 UNIDAD 4 :: Administracion Bases de Datos

14

4.1.1.Funcionesespecificadelasbitacoras.

LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebaseded
siguiente:


4.3 NDICES, REORGANIZACIN Y RECONSTRUCCIN

Los ndices son "estructuras" alternativa a la organizacin de los datos en una


tabla.

El propsito de los ndices es acelerar el acceso a los datos mediante


operaciones fsicas ms rpidas y efectivas.

15
Consideraciones para usar ndices agrupados

Columnas selectivas

4.3 MANEJO DE NDICES


columnas afectadas en consultas

Columnas accedidas "secuencialmente"

De esa forma localizars ms rpido el apellido Salazar. Pues bien, enhorabuena, Columnas implicadas en JOIN, GROUP BY
Tipos
has estadode
usandondices
un ndice.
Acceso muy rpido a filas: lookups
ndices
4.4.1 Tipos deAgrupados
ndices ndices No Agrupados
Indices No Agrupados
ndices agrupados

16
Los ndices agrupados, definen el orden en que almacenan las filas de la tabla Los ndices no agrupados tienen la misma estructura de rbol b que los ndices
(nodos hoja/pgina de datos de la imagen anterior). La clave del ndice agrupado agrupados, con algunos matices; como hemos visto antes, en los ndices
es el elemento clave para esta ordenacin; el ndice agrupado se implementa
agrupados, en el ltimo nivel del ndice (nivel de hoja) estn los datos; en los
como una estructura de rbol b que ayuda a que la recuperacin de las filas a
partir de los valores de las claves del ndice agrupado sea ms rpida. Las
pginas de cada nivel del ndice, incluidas las pginas de datos del nivel hoja, se
vinculan en una lista con vnculos dobles. Adems, el desplazamiento de un nivel
4.3 MANEJO DE NDICES

Tipos de ndices
ndices agrupados,
Definen el orden en que almacenan las filas de la tabla (nodos hoja/pgina de datos de la
imagen anterior).

La clave del ndice agrupado es el elemento clave para esta ordenacin; el ndice
agrupado se implementa como una estructura de rbol b que ayuda a que la recuperacin
de las filas a partir de los valores de las claves del ndice agrupado sea ms rpida.

Las pginas de cada nivel del ndice, incluidas las pginas de datos del nivel hoja, se
vinculan en una lista con vnculos dobles. Adems, el desplazamiento de un nivel a otro
se produce recorriendo los valores de claves.

17
4.3 MANEJO DE NDICES

Tipos de ndices
ndices no agrupados
Tienen la misma estructura de rbol binario que los ndices agrupados, con algunos
matices; como hemos visto antes, en los ndices agrupados, en el ltimo nivel del ndice
(nivel de hoja) estn los datos; en los ndices no-agrupados, en el nivel de hoja del ndice,
hay un puntero a la localizacin fsica de la fila correspondiente en el ndice agrupado.

La ordenacin de las filas del ndice est construida en base a la(s) columna(s)
indexadas, lo cual no quiere decir (a diferencia de los ndices agrupados), que la
organizacin fsica de las pginas de datos corresponda con el ndice.

18
4.3 MANEJO DE NDICES
Reorganizacin de ndices
Un paquete puede usar la tarea Reorganizar ndice para reorganizar los
ndices de una base de datos individual o de varias bases de datos.
Si la tarea solo reorganiza los ndices de una base de datos individual,
puede elegir las vistas o las tablas cuyos ndices reorganiza la tarea.
La tarea Reorganizar ndice tambin incluye la opcin de compactar
datos de objetos grandes.
Los datos de objetos grandes son datos de tipo:
image, text, ntext, varchar(max), nvarchar(max), varbinary(max) o xml.

19
4.3 MANEJO DE NDICES

Reorganizacin de ndices
La tarea Reorganizar ndice encapsula la instruccin ALTER INDEX
de Transact- SQL.
Si elige compactar datos de objetos grandes, la instruccin utiliza
la clusula
REORGANIZE WITH (LOB_COMPACTION = ON);
en caso contrario, se establece
LOB_COMPACTION en OFF

20
4.3 MANEJO DE NDICES

Reorganizacin de ndices
Dentro de las tareas habituales de Mantenimiento de las Bases
de Datos se encuentran aquellas destinadas al control y respaldo
de las mismas como ser:
Control de Integridad, Chequeo de Consistencia, Copias de Seguridad
o Compactacin de las bases.

Pero tambin es necesario ejecutar trabajos de mantenimiento


cuyos objetivos sean el de mantener el rendimiento de las bases de
datos y evitar su degradacin.

21
4.3 MANEJO DE NDICES

Reorganizacin de ndices
Esos trabajos son: Reorganizacin de ndices y la Actualizacin de
Estadsticas.
Son independientes del estado de la base de datos.
Puede ocurrir que a la base le falten estudios de optimizacin
pero, al menos, mantendremos la performance actual.
Si la base se encuentra optimizada, entonces ms an, son
necesarios para evitar la degradacin producto del uso continuo.

22
4.3 MANEJO DE NDICES
Reorganizacin de ndices
Deben realizarse fuera de lnea por motivos de: alto consumo de
recurso y bloqueo de las tablas en el momento de ejecucin.

Las tablas que contienen ndices al ser actualizadas o por


insercin de nuevos datos, generan fragmentacin de estos
ndices.

Estas fragmentaciones conllevan a la prdida de performance al


acceder a ellas.

23
4.3 MANEJO DE NDICES

Reorganizacin de ndices
La instruccin DBCC DBREINDEX reorganiza el ndice de una tabla o
todos los ndices definidos para una tabla.
La reorganizacin de realiza dinmicamente sin necesidad de
conocer la estructura de la misma o las restricciones que ella
tenga.
No es necesario conocer si una tabla tiene clave primaria o si
esta clave es nica y adems pertenece a algn ndice, ya que la
reorganizacin no necesita eliminar y recrear stas restricciones
para realizar su trabajo.

24
4.3 MANEJO DE NDICES

Reorganizacin de ndices
La instruccin DBCC DBREINDEX reorganiza el ndice de una tabla o
todos los ndices definidos para una tabla.
La reorganizacin de realiza dinmicamente sin necesidad de
conocer la estructura de la misma o las restricciones que ella
tenga.
No es necesario conocer si una tabla tiene clave primaria o si
esta clave es nica y adems pertenece a algn ndice, ya que la
reorganizacin no necesita eliminar y recrear stas restricciones
para realizar su trabajo.

25
4.3 MANEJO DE NDICES

Reorganizacin de ndices
La sintaxis de esta instruccin es:
DBCC DBREINDEX
( basededatos.dueo.nombre_de_tabla
[ , ndice
[ , fillfactor ]
]
) [ WITH NO_INFOMSGS ]

Fillfactor es el porcentaje de espacio de pgina destinado a ser ocupado.

26
4.3 MANEJO DE NDICES
Reconstruccin de ndices
Es importante peridicamente 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.

Normalmente reconstruimos un ndice con el comando ALTER INDEX.

Es importante tener actualizadas las estadsticas de la base de datos.

Para saber si las estadsticas se estn 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 estadsticas.

27

Potrebbero piacerti anche