Las copias de seguridad son importantes para recuperar la información en caso de fallo. Existen copias de seguridad completas y incrementales. El administrador de la base de datos se encarga de tareas como realizar copias de seguridad periódicas, resolver incidencias, controlar espacio y privilegios, y optimizar consultas y rendimiento. Algunos problemas comunes incluyen fallos en sentencias, privilegios, espacio y conexiones.
1. Administración BBDD
● BACKUP – COPIAS DE SEGURIDAD
● ¿POR QUÉ SON IMPORTANTES?
● ¿QUÉ SON?
2. Administración BBDD
● Backups
– Full o total
– Incremental, más reducido pero más rápido
● Restore - Recovery
3. Administración BBDD
● Comprobaciones Backup:
● La primera y mas importante comprobación es si
la copia de seguridad es correcta. Integridad.
– Comprobar mediante consultas que la
información de la tabla origen está recogida en
la tabla destino y al contrario.
– Restaurar en otra bbdd si es preciso. Nunca
restaurar en producción para comprobaciones.
4. Administración BBDD
● Copias de seguridad en disco, rápidas y caras, o
cinta, gran capacidad y más barato que el disco,
util para históricos.
● Realizar backup en ventanas horarias con baja o
nula actividad, además de no crítica.
● Es recomendable realizar más de una copia de
seguridad, aunque siempre sin abusar.
5. Administración BBDD
● REPLICACIÓN
– Proceso mediante el cual un servidor realiza
copias de datos a otros servidores remotos.
– Se mantiene la integridad de los datos
– Publicación: Información a replicar
– Sincronización: Asegura que la información es la
misma.
6. Administración BBDD
● Redundancia: Datos repetidos.
– Permitida en datos críticos como seguridad
● Replicar por la noche las bbdd en espejos.
– Espejo: Replicación con la misma información
que el original.
– Un disco espejo nos permite en caso de error
seguir trabajando con normalidad.
7. Administración BBDD
● Ley de proteccion de datos. Por ley es necesario
realizar auditorías, recoger quién accede a los
datos, quién puede acceder y que tipo de datos
son.
● La auditoría impacta mucho en el rendimiento.
Guarda la información anterior en tiempo de
ejecución.
● En españa la ley es muy restrictiva.
8. Administración BBDD
● El Administrador de Bases de Datos. DBA.
● Funciones:
– Encargado del buen funcionamiento de la base
de datos y de solucionar los problemas que
vayan surgiendo.
● Máxima: Minimizar tiempo de reaccion
9. Administración BBDD
● METADATOS: Datos sobre datos: Informan sobre los objetos de
la bbdd (Tablas, SP, Restricciones)
– ESTÁTICOS:
Vistas de metadatos (vistas del sistema)
●
– DINÁMICOS:
● Vistas y funciones de administración que
consultan metadatos sobre el estado actual del
sql server. ej bloqueos.
● Las vistas de sistema nos proporcionan información para la
administración. Ej. sysprocesses
10. Administración BBDD
● Procedimientos del sistema:
– sp_lock
– sp_who
– sp_who2
● Cpu_time y DiskIO para ver que usuarios están
“saturando” la base de datos.
Ver detalles en la web de microsoft.
12. Administrador de BBDD
● Tareas de un administrador de bbdd:
– Control y buen funcionamiento del servidor y las
bases de datos.
● Comprobar que el servidor esté activo y las bbdd
accesibles.
13. Administración BBDD
● Tareas de un administrador de bbdd:
– Control y buen funcionamiento de los procesos
dentro de las bases de datos. Depende del
tamaño de la empresa .No siempre.
● Vigilar tablas de control y ficheros de logs.
● Añadir log para depuración.
14. Administrador de BBDD
● Tareas administrador bbdd:
– Mantenimiento general.
– Resolución de incidencias.
– Realización de correctivos.
– Realización de evolutivos.
● Las puestas en producción se realizan en
ventanas de tiempo de baja actividad y baja
criticidad.
15. Administración bbdd.
● Tareas administrador bbdd:
– Control de tareas automatizadas en sql server.
● Jobs, Backups, caducidad de permisos, etc
16. Administración BBDD
● Tareas Administrador BBDD:
– Planificar alertas sobre acciones:
● Más de X transacciones a la vex.
● Si se llega a un mínimo de % sobre el límite de
espacio.
● …
● Debemos actuar al saltar una alerta.
17. Administración de BBDD
● Tareas administrador bbdd:
– Control de concurrencia. Bloqueos. Localizar
consultas que están tardando demasiado o
bloquean a otras consultas.
● Bloqueado - Bloqueando.
● Buscar las consultas que bloquean y martarlas o
dejarlas dependiendo de la criticidad.
18. Administración BBDD
● CONCURRENCIA-accesos simultáneos- y
BLOQUEOS.
– TIPOS DE BLOQUEO
● FILA, PÁGINA, TABLA, BBDD ...
– MODOS DE BLOQUEO
● COMPARTIDO. PARA SOLO LECTURA.
SELECT
● EXCLUSIVO. PARA MODIFICACIONES
19. Administración BBDD
● Cuando una tabla recibe muchas consultas se
procede a bloquear las consultas, por lo tanto no
es posible realizar más peticiones.
● Para solucionar este tema existen 2 posibles
soluciones:
– Modificar la consulta para no bloquear.
20. Aministración BBDD
– Actuar sobre el bloqueo.
● Los bloqueos pueden verificarse con el
procedimiento sp_lock.
● Verificar los procesos que están utilizando
muchos recursos con el procedimiento sp_who
o sp_who2 (Sp_who2 contiene más detalles que
sp_who).
● Podemos ver que consulta está bloqueando y
simplemente identificando el id usar KILL
<spid>
21. Administración BBDD
● sp_who2: Recomendable verificar los campos
Cpu_time y DiskIO para ver que usuarios están
consumiendo demasiados recursos de la base de
datos.
● sp_lock
● select * from master..sysprocesses / sysdatabases
● With NOLOCK (evita bloquear selects)
22. Administración BBDD
● Tareas del administrador BBDD:
– Generar y mantener los índices de las tablas.
● Mantenimiento de indices en cada modificación
importante.
● Bueno para select, malo para insert/update.
– Actualización de estadísticas.
● Recomendables hacerlo periódicamente y cada
poco tiempo según uso.
23. Administración BBDD
● Tareas administrador bbdd:
– Optimización de consultas. Principalmente
consultas lentas.
● Optimización general.
● Mediante el plan de ejecución, en consultas
grandes y/o lentas.
24. Administración BBDD
● Tareas administrador bbdd:
– Gestión de privilegios. Usuarios y permisos.
● Asignar y quitar permisos.
25. Administración BBDD
● Seguridad:
– INICIOS DE SESIÓN / USUARIOS
– PERMISOS
● DE SERVIDOR
● DE OBJETOS DE LA BBDD
26. Administración BBDD
● Tareas administrador bbdd:
– Control del espacio asignado a las bases de
datos.
● Vigilancia diaria. Se suelen asignan alertas.
– Limpiar y guardar tablas obsoletas.
● Por periodos de tiempo se borra información y se
realizan copias en históricos.
● Limpieza de basura generada.
– Solicitaremos a desarrollo una estimación de
crecimiento por tiempo.
28. Administración BBDD
● ¿Qué tipos de problemas nos podemos encontrar
por regla general?
29. Administración BBDD
● Tipos de problemas:
– Fallos de sentencias (tipos de datos malos, no
caben los datos en las columnas...)
● Solución:
– Modificar las tablas o el desarrollo.
30. Administración BBDD
● Tipos de problemas:
– Fallos de privilegios (permisos)
● Solución:
– Asignar o quitar permisos nuevos.
31. Administración BBDD
● Tipos de problemas:
– Fallos de espacio en la bbdd (triger que de más
espacio a la bbdd, aunque no es recomendable,
hay que controlarlo)
● Solución:
– Comunicarlo al saltar la alarma y si no es posible
recuperar espacio darle más.
– Se puede utilizar un crecimiento automático,
pero hay que tener cuidado.
32. Administración BBDD
● Tipos de problemas:
– Fallos en desarrollo de software
● Solución:
– Solucionarlos si es nuestra función o
comunicarlo al departamento de desarrollo.
33. Administración BBDD
● Tipos de problemas:
– Fallos en conexiones de usuarios (se rompen con
una transaccion en curso)
● Solución:
– Hay que ver de donde procede el error.
34. Administración BBDD
● Tipos de problemas:
– Fallo de red. La red se cae y no hay conexión
con el servidor.
● Solución:
– Hay que ver de donde procede el errror. Son
problemas complicados de reproducir.
35. Administración BBDD
● Tipos de problemas:
– Fallo en conexión
● Solución:
– Normalmente: Asignar privilegios al usuario.
36. Administración BBDD
● Tipos de problemas:
– Fallo conectando (fallos en el cable, en las
tarjetas, switch,...)
● Solución:
– Son problemas de hardware, se soluciona
cambiándolo.
37. Administración BBDD
● Tipos de problemas:
– Timeouts / Rendimiento
● Solución:
– Ver que es lo que ha cambiado para que baje el
rendimiento y estudiarlo.
– Cambio parámetros timeout de servidor si no es
posible optimizar procesos que generan dicho
timeout.
38. Administración BBDD
● Tipos de problemas:
– Fallos de proceso de usuario
(actualizacion,borrado accidental de una tabla-
> Recuperación bbdd)
● Solución:
– Recuperarla de las copias de seguridad si es
posible. Si no es posible, minimizar el daño.
39. Administración BBDD
● Tipos de problemas:
– Fallos de instancia, es una caída de software
(falla la maquina, se quema un procesador) Se
anulan solas las transacciones. Ojo si nos pilla
a mitad de procesos y no están todos en una
transacción
● Solución:
– Remplazo de piezas y/o reiniciar el sql o el
servidor o ambos.
40. Administración BBDD
● Tipo de problema:
– Mal funcionamiento general. Ralentización de
procesos, errores inesperados...
● Solución:
– Hay que reiniciar el sql o el servidor o ambos
41. Administración BBDD
● Ejemplos:
– Actualización y borrados de una tabla con
condiciones.
● Update con condiciones a partir de otra tabla.
● Delete con condiciones.
43. Administración BBDD
● Notas:
– No se pone antivirus en el servidor NUNCA.
Bloquean cuando actuan
44. Administración BBDD
● Algunas consultas no recomendadas:
– Alter table drop column es muy pesado.
– Updates muy pesados.
– Explosiones con JOIN's junto con DISTINCT