Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
OPERACIN Y MANTENIMIENTO
1
4.1 ARCHIVOS LOG DEL SGBD
2
4.1 ARCHIVOS LOG DEL SGBD
3
4.1 ARCHIVOS LOG DEL SGBD
4.1.1.Funcionesespecificadelasbitacoras.
LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebasededatosytienelo
siguiente:
4.1 ARCHIVOS LOG DEL SGBD
4.1.1.Funcionesespecificadelasbitacoras.
LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebasededatosyti
siguiente:
4.1 ARCHIVOS LOG DEL SGBD
4.1.1.Funcionesespecificadelasbitacoras.
LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebasededatosyti
siguiente:
30/8/2017 UNIDAD 4 :: Administracion Bases de Datos
NombredelaTransaccion
como Valorantiguo
ValorNuevo
Esfundamentalquesiempresecreeunregistroenlabitcoracuandoserealiceunaescrituraantesdequesemodifiquelabasededatos.
Tambintenemoslaposibilidaddedeshacerunamodificacinqueyasehaescritoenlabasededatos,estoserealizarusandoelcampodelvalorantiguodelosregistr
consistencia. LasoperacionesCOMMITyROLLBACKestablecenloqueseleconocecomopuntodesincronizacinlocualrepresentaellmiteentredostransaccionesconsecutivas,
unidadlgicadetrabajo,yportantoalpuntoenelcuallabasededatosesta(odeberaestar)enunestadodeconsistencia.Lasnicasoperacionesqueestablecenunp
sonCOMMIT,ROLLBACKyeliniciodeunprograma.Cuandoseestableceunpuntodesincronizacin:
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.
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.
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).
14
4.1.1.Funcionesespecificadelasbitacoras.
LaestructuramsampliamenteusadaparagrabarlasmodificacionesdelabasededatoseslaBitcora.Cadaregistrodelabitcoraescribeunanicaescrituradebaseded
siguiente:
4.3 NDICES, REORGANIZACIN Y RECONSTRUCCIN
15
Consideraciones para usar ndices agrupados
Columnas selectivas
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.
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.
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 ]
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.
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