5.1 Respaldo y Recuperación
El respaldo es uno de los pasos más importantes que puedes dar para proteger tu información. Cuando algo sale mal, como fallas en disco duro, borrado accidental de archivos o infecciones por malware, son tu último recurso. En esta edición, te explicamos cómo respaldar tu información y preparar una estrategia adecuada para ti.Qué Respaldar y Cuándo
Existen dos aspectos fundamentales para decidir qué respaldar: la información que hayas generado o que sea importante para ti, como documentos, fotografías o videos; o toda, incluyendo tu sistema operativo y cualquier programa que hayas instalado. El primer aspecto limita el proceso de respaldo, mientras que el segundo hace que sea más fácil recuperar el sistema en caso de un fallo completo. Si no estás seguro de qué respaldar, respalda todo. A continuación, tendrás que decidir qué tan seguido respaldar tu información. Lo más común es hacerlo cada hora, diariamente, semanalmente, etc. Para usuarios caseros, los programas de respaldo personal como Time Machine de Apple o Copias de seguridad y restauración de Windows, permitirán fijar un horario automático de respaldo “prográmalo y olvídate”. Otras soluciones ofrecen “protección continua”, en la cual los archivos nuevos o modificados son respaldados inmediatamente tan pronto sean cerrados. Si perteneces a una organización con muchas computadoras, quizás te gustaría definir tu propio calendario. Sería bueno que consideraras cuánta información estás dispuesto a perder en el peor de los casos. Por ejemplo, si respaldas diariamente, puedes perder una jornada de trabajo si tu computadora falla al final del día. Muchas organizaciones programan respaldos diarios fuera de las horas pico para minimizar el impacto la operación normal.
Cómo Respaldar
En general, existen dos recursos en los que puedes respaldar tu información: medios físicos o almacenamiento en la nube. Ejemplos de medios físicos incluyen DVD’S, dispositivos USB, cintas magnéticas o discos duros adicionales. Evita respaldar en el mismo dispositivo que contiene los archivos originales. Cuando uses medios físicos asegúrate de etiquetarlos, tanto interna (en el nombre del archivo) como externamente (sobre el dispositivo), para que puedas identificar fácilmente fecha y hora del respaldo.
Puedes almacenar el respaldo en un contenedor con llave, a prueba de fuego y de agua, dependiendo del medio que elegiste. Una opción más robusta es almacenar copias de tus respaldos fuera de las instalaciones. Para respaldos personales, puede ser tan simple como almacenarlos en casa de un miembro de la familia o en una caja de seguridad. Las organizaciones quizá deseen contratar un servicio profesional para transportar y almacenar los respaldos de forma segura. Dependiendo de qué tan sensibles sean y dónde se almacenen los respaldos, tal vez convenga cifrarlos.
Muchos de estos problemas se solucionan con respaldos en la nube. Realizar copias de seguridad en la nube es tan sencillo como instalar o configurar una aplicación en tu computadora. Después de configurar las opciones de respaldo, archivos nuevos y modificados son respaldados automáticamente a través de Internet en servidores del centro de datos del proveedor.
Finalmente, necesitas decidir por cuánto tiempo conservarás tus respaldos. Es probable que los usuarios caseros no necesiten mantenerlos por más de treinta días. Algunas organizaciones cuentan con políticas o requerimientos legales para resguardar por periodos más largos, así como reglas para la destrucción de respaldos obsoletos. Si estás respaldando información de tu organización, verifica con el grupo de TI, legal o de gestión de registros para estar seguro. Respecto a las opciones de respaldo en la nube, es posible que te cobren con base a la cantidad de datos que respaldes, así que es importante ser cuidadoso de no acumular una gran deuda.
Recuperación
Respaldar tu información es sólo la mitad de la batalla; ahora tienes que asegurarte de que puedes recuperarla fácilmente. Practica regularmente tu proceso de recuperación, tal y como harías en un simulacro de sismo, esto te ayudará a asegurar que todo funcione correctamente en caso de necesitarlo. Comprueba por lo menos una vez al mes que el programa de respaldos está funcionando adecuadamente. Por lo menos trata de recuperar un archivo. Para una prueba más robusta, sobre todo para las organizaciones, considera hacer la recuperación completa del sistema y verifica que sea recuperable. Si no cuentas con hardware externo para la prueba de recuperación completa del sistema, restaura archivos y carpetas importantes en una ubicación diferente y luego verifica si recuperaste y puedes abrir todo.
Cómo Respaldar
En general, existen dos recursos en los que puedes respaldar tu información: medios físicos o almacenamiento en la nube. Ejemplos de medios físicos incluyen DVD’S, dispositivos USB, cintas magnéticas o discos duros adicionales. Evita respaldar en el mismo dispositivo que contiene los archivos originales. Cuando uses medios físicos asegúrate de etiquetarlos, tanto interna (en el nombre del archivo) como externamente (sobre el dispositivo), para que puedas identificar fácilmente fecha y hora del respaldo.
Puedes almacenar el respaldo en un contenedor con llave, a prueba de fuego y de agua, dependiendo del medio que elegiste. Una opción más robusta es almacenar copias de tus respaldos fuera de las instalaciones. Para respaldos personales, puede ser tan simple como almacenarlos en casa de un miembro de la familia o en una caja de seguridad. Las organizaciones quizá deseen contratar un servicio profesional para transportar y almacenar los respaldos de forma segura. Dependiendo de qué tan sensibles sean y dónde se almacenen los respaldos, tal vez convenga cifrarlos.
Muchos de estos problemas se solucionan con respaldos en la nube. Realizar copias de seguridad en la nube es tan sencillo como instalar o configurar una aplicación en tu computadora. Después de configurar las opciones de respaldo, archivos nuevos y modificados son respaldados automáticamente a través de Internet en servidores del centro de datos del proveedor.
Finalmente, necesitas decidir por cuánto tiempo conservarás tus respaldos. Es probable que los usuarios caseros no necesiten mantenerlos por más de treinta días. Algunas organizaciones cuentan con políticas o requerimientos legales para resguardar por periodos más largos, así como reglas para la destrucción de respaldos obsoletos. Si estás respaldando información de tu organización, verifica con el grupo de TI, legal o de gestión de registros para estar seguro. Respecto a las opciones de respaldo en la nube, es posible que te cobren con base a la cantidad de datos que respaldes, así que es importante ser cuidadoso de no acumular una gran deuda.
Recuperación
Respaldar tu información es sólo la mitad de la batalla; ahora tienes que asegurarte de que puedes recuperarla fácilmente. Practica regularmente tu proceso de recuperación, tal y como harías en un simulacro de sismo, esto te ayudará a asegurar que todo funcione correctamente en caso de necesitarlo. Comprueba por lo menos una vez al mes que el programa de respaldos está funcionando adecuadamente. Por lo menos trata de recuperar un archivo. Para una prueba más robusta, sobre todo para las organizaciones, considera hacer la recuperación completa del sistema y verifica que sea recuperable. Si no cuentas con hardware externo para la prueba de recuperación completa del sistema, restaura archivos y carpetas importantes en una ubicación diferente y luego verifica si recuperaste y puedes abrir todo.
Base de Datos Espejo (Database Mirroring) es una configuración donde dos o tres servidores de dase de datos, ejecutándose en equipos independientes, cooperan para mantener copias de la base de datos y archivo de registro de transacciones (log).
Tanto el servidor primario como el servidor espejo mantienen una copia de la base de datos y el registro de transacciones, mientras que el tercer servidor, llamado el servidor árbitro, es usado cuando es necesario determinar cuál de los otros dos servidores puede tomar la propiedad de la base de datos. El árbitro no mantiene una copia de la base de datos. La configuración de los tres servidores de base de datos (el primario, el espejo y el árbitro) es llamado Sistema Espejo (Mirroring System), y el servidor primarioy espejo juntos son llamados Servidores Operacionales (Operational Servers) o Compañeros (Partners).
5.1.1.1 Beneficios del Espejeo de Datos en un DBMS
La creación de reflejo de la base de datos es una estrategia sencilla que ofrece las siguientes ventajas:
Incrementa la disponibilidad de una base de datos. Si se produce un desastre en el modo de alta seguridad con conmutación automática por error, la conmutación por error pone en línea rápidamente la copia en espera de la base de datos, sin pérdida de datos. En los demás modos operativos, el administrador de bases de datos tiene la alternativa del servicio forzado (con una posible pérdida de datos) para la copia en espera de la base de datos. Para obtener más información, vea Conmutación de roles, más adelante en este tema.
Aumenta la protección de los datos. La creación de reflejo de la base de datos proporciona una redundancia completa o casi completa de los datos, en función de si el modo de funcionamiento es el de alta seguridad o el de alto rendimiento. Para obtener más información, vea Modos de funcionamiento, más adelante en este tema.
Un asociado de creación de reflejo de la base de datos que se ejecute en SQL Server 2008 Enterprise o en versiones posteriores intentará resolver automáticamente cierto tipo de errores que impiden la lectura de una página de datos. El socio que no puede leer una página, solicita una copia nueva al otro socio. Si la solicitud se realiza correctamente, la copia sustituirá a la página que no se puede leer, de forma que se resuelve el error en la mayoría de los casos. Para obtener más información, vea Reparación de página automática (grupos de disponibilidad/creación de reflejo de base de datos).
Mejora la disponibilidad de la base de datos de producción durante las actualizaciones. Para minimizar el tiempo de inactividad para una base de datos reflejada, puede actualizar secuencialmente las instancias de SQL Server que hospedan los asociados de creación de reflejo de la base de datos. Esto incurrirá en el tiempo de inactividad de solo una conmutación por error única. Esta forma de actualización se denomina actualización gradual. Para obtener más información, vea Instalar un Service Pack en un sistema con un tiempo de inactividad mínimo para bases de datos reflejadas.
5.1.2. Réplica (Replication)
La replicación es el proceso de copiar y mantener actualizados los datos en varios nodos de bases de datos ya sean estos persistentes o no. Éste usa un concepto donde existe un nodo amo o maestro (master) y otros sirvientes o esclavos (slaves).
La replicación de discos y particiones es la respuesta a una parte importante de esas dos acciones de mantenimiento. La replicación es el proceso mediante el cual se genera una copia exacta de parte del sistema. Esa parte puede ser desde un archivo hasta una carpeta, una partición, un disco o incluso varios discos.
La replicación es útil para:
· Copia de Seguridad
En condiciones normales, una base de datos replicada de forma correcta es válida como copia de seguridad.
Además se puede realizar copias de seguridad usando un servidor esclavo para así no interferir al servidor maestro.
· Mejorar la Escalabilidad
Podríamos configurar nuestras aplicaciones para balancear las consultas de lectura (SELECT) entre los servidores replicados.
Podríamos usar herramientas como MySQL Proxy para balancear las consultas de lectura entre los servidores replicados y enviar las consultas de actualización de datos al maestro.
· Alta Disponibilidad
En aplicaciones y entornos en donde sólo se requieren lecturas, podríamos configurar nuestras aplicaciones para balancear las consultas de lectura (SELECT) entre los servidores replicados de manera que si uno se cae se continue prestando servicio.
El Log Binario
El log binario es un archivo binario gestionado por el servidor de base de datos en el que se registran todas las sentencias SQL de modificación de datos o estructura.
En el caso de la replicación es importante saber que cada servidor esclavo se conecta al servidor maestro y le solicita que le envíe las sentencias registradas en los logs binarios a partir de una posición, para ello, cada esclavo mantiene un archivo a modo de índice en donde registra la posición actual de la replicación.
Gracias a esto, podemos detener el esclavo (STOP SLAVE), que haya un corte de red, etc... De manera que cuando se vuelva a iniciar la replicación (START SLAVE) o se reestablezca la comunicación... Pase el tiempo que pase) el esclavo solicitará al maestro todas las sentencias a ejecutar desde su estado actual y las irá ejecutando secuencialmente de manera que en cuestión de segundos ambos servidores tendrán las bases de datos con el mismo contenido y estructura.
Probando la Replicación
1. En el servidor esclavo ejecute el comando SHOW SLAVE STATUS y observe que el mensaje que le muestra es un mensaje que indica que está esperando eventos del maestro...
2. Modifique algo en el maestro y verifique que instantáneamente se replica en el esclavo.
3. Detenga el esclavo durante un tiempo, realice cambios (cree tablas, modifique registros...) en el maestro e inicie el esclavo. En cuestión de milisegundos ambas bases de datos deberían de ser iguales.
5.1.2.1 Beneficios de la Réplica de Datos en un DBMS
La replicación se usa mucho en sistema de acceso a datos por varios motivos:
· Rendimiento: Normalmente y dependiendo del caso, hay más lectura que escritura en una base de datos, por lo que tener varios nodos solo procesando la lectura puede traer un gran beneficio de rendimiento en una base de datos muy consultada.
· Prueba de Fallas: Un esclavo estando casi sincrónicamente actualizado puede ser útil en caso de que el nodo maestro caiga, este puede reemplazarlo y así no detener el servicio.
· Fiabilidad: Muchas veces se puede tener una replicación para tener la seguridad de que los datos están siendo copiados a otro nodo, en caso de sufrir un desperfecto en el maestro.
· Generación de Bloqueos: aunque ésta es más precisa, también se puede usar para procesos que necesiten leer datos, generando bloqueos, al hacerlo sobre un esclavo esto no interviene en el funcionamiento de todo el sistema, es muy usado para por ejemplo, hacer copias de seguridad, o extraer grandes cantidades de datos para generar estadísticas.
5.1.3 Métodos de Respaldo de un DBMS
En mySQL existen varios métodos para la realización de un backup y esto se debe principalmente a que mySQL guarda las tablas como archivos y al tipo de tablas que se esté manejando (InnoDB, MyISAM, ISAM). Así por ejemplo para la presente práctica se utilizó el tipo de tabla InnoDB y el método de backup utilizado es el que funciona con este tipo de tablas.
InnoDB es una de las tecnologías de almacenamiento que utiliza mySQL, es de codigo abierto. Entre sus características principales estan que soporta transacciones con características ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad), tiene bloque de registros e integridad referencial (cosa que no maneja ISAM, ni myISAM). Esta última es una de sus características más importantes pues una base de datos sin integridad referencial, es nada más un conjunto de datos que no denotan información.
Este tipo de almacenamiento también ofrece una alta fiabilidad y consistencia. El mismo gestiona el control de los datos y no se lo deja al sistema operativo, una de sus desventajas es que no tiene una buena compresión de datos, por lo que ocupa un poco más de espacio que myISAM.
5.1.3.1 Elementos y Frecuencia de Respaldo
Normalmente cuando uno plantea que va a respaldar los datos de su PC a una persona en una compañía uno tiene que definir muy bien cuál es la información crítica para la empresa, por ejemplo la música que guarde un empleado en su PC no es crítica para las actividades de la empresa ni lo son las fotos de su última fiesta. En cambio su correo electrónico, proyectos, informes y papeles administrativos si lo suelen ser y tener un respaldo de estos es clave para el funcionamiento de la empresa en caso de cualquier eventualidad.
Normalmente lo datos o información que es respaldada por las empresas es:
· Archivos creados por aplicaciones, como por ejemplo .doc, .odt, .xls, .mdb, .pdf, .ppt entre otros.
· Archivos de correo electrónico
· Directorios telefónicos y de contactos
· Favoritos de los navegadores como Firefox e Internet Explorer
· Base de datos
· Configuraciones de los equipos
· Archivos de CAD, PSD, XCF, etc.
· Imágenes y Fotografías de proyectos
· Configuraciones de servicios
Clasificación de Respaldos
· Copias de Información (Backups)
Estos respaldos son sólo duplicados de archivos que se guardan en "Tape Drives" de alta capacidad. Los archivos que son respaldados pueden variar desde archivos del sistema operativo, bases de datos, hasta archivos de un usuario común. Existen varios tipos de Software que automatizan la ejecución de estos respaldos, pero el funcionamiento básico de estos paquetes depende del denominado archive bit.
Este archive bit indica un punto de respaldo y puede existir por archivo o al nivel de "Bloque de Información" (típicamente 4096 bytes), esto dependerá tanto del software que sea utilizado para los respaldos así como el archivo que sea respaldado. Este mismo archive bit es activado en los archivos (o bloques) cada vez que estos sean modificados y es mediante este bit que se llevan a cabo los tres tipos de respaldos comúnmente utilizados:
· Respaldo Completo ("Full")
Guarda todos los archivos que sean especificados al tiempo de ejecutarse el respaldo. El archive bit es eliminado de todos los archivos (o bloques), indicando que todos los archivos ya han sido respaldados.
· Respaldo de Incremento ("Incremental")
Cuando se lleva a cabo un Respaldo de Incremento, sólo aquellos archivos que tengan el archive bit serán respaldados; estos archivos (o bloques) son los que han sido modificados después de un Respaldo Completo. Además cada Respaldo de Incremento que se lleve a cabo también eliminará el archive bit de estos archivos (o bloques) respaldados.
· Respaldo Diferencial ("Differential")
Este respaldo es muy similar al "Respaldo de Incremento", la diferencia estriba en que el archivo bit permanece intacto.
Frecuencia de Actualización de la Información
Hay dos puntos importantes en cuanto a la actualización de la información:
· Que tan frecuentemente se actualiza la información
· Si queremos guardar un histórico de la información o no
No toda la información se actualiza con la misma frecuencia, hay información que puede durar años sin ser modificada y otra que se actualice constantemente todos los días, es importante definir qué información se actualiza y en qué momento para hacer una política de respaldo más eficiente.
La mayoría de las aplicaciones de respaldos hacen esto automáticamente fijándose en la fecha de modificación del archivo y comparándola con la que tiene en el respaldo.
El otro punto es si queremos hacer un respaldo con históricos o duplicados, en este caso tenemos que indicarle al programa que no queremos que nos borre o sobrescriba ningún archivo y que vaya guardando los archivos con su respectiva fecha y con qué frecuencia queremos hacer el respaldo.
En caso de que haya información que se pueda sobrescribir o actualizar, se realiza un respaldo incremental donde sólo se actualiza lo que ha cambiado del archivo lo que mejora la eficiencia de nuestro sistema. Esto realmente va a depender del tipo de información y varía de empresa a empresa pero es algo importante que tengamos que tomar en cuenta ya que toda la información no es igual.
5.1.3.2 Comandos para Respaldo de Datos
A continuación vamos a exponer los pasos y comandos para realizar la replicación de una base de datos en un único servidor esclavo. Si quisiéramos configurar más esclavos, los pasos a realizar serían los mismos sobre cada uno de los esclavos.
1. Creamos un usuario MySQL en el servidor maestro con privilegios de replicación.
2. El servidor esclavo se autentificará frente al servidor maestro como un usuario normal.
3. Para crear el usuario debemos ejecutar desde la consola de comandos de mysql las siguientes sentencias SQL:
CREATE USER '<replication_user>'@'<slave_address>' IDENTIFIED BY '<replication_user_password>'
GRANT REPLICATION SLAVE ON *.* TO '<replication_user>'@'<slave_address>'
4. Con la sentencia anterior el usuario sólo tendría permiso de acceso desde la máquina <slave_address>, en caso de no requerir esta medida de seguridad puedes sustituir el comodín % por el parámetro <slave_address>.
Configuración del Servidor Maestro
1. Deberemos agregar las siguientes líneas al final del archivo de configuración del servidor MySQL, por defecto: <MySQL_HOME>/my.ini
2. Identificador único del servidor MySQL dentro de todos los servidores implicados en la replicación.
Server – id = 1
3. Al especificar el parámetro log-bin estamos activando el log binario.
4. No especificamos un valor para el parámetro de configuración (por defecto será <nombre_maquina > - bin).
Log – bin =
5. El log binario sólo tendrá las actualizaciones realizadas sobre la base de datos "bd_autentia"
6. Si además quisiéramos replicar otras bases de datos, duplicaríamos este parámetro para cada base de datos.
Binlog – do – db = bd_autentia
Configuración del Servidor Esclavo
1. Deberemos agregar las siguientes líneas al final del archivo de configuración del servidor MySQL, por defecto: <MySQL_HOME>/my.ini
2. Identificador único del servidor MySQL dentro de todos los servidores implicados en la replicación.
Server – id = 2
3. Nombre del archivo binario que almacena las instrucciones pendientes de ejecutar, por defecto: <host_name> - relay - bin.index
Relay – log =
4. Nombre o dirección IP del maestro.
Master – host = <master_address>
5. El esclavo se conecta a través de un usuario al maestro. Identificador del usuario.
Master – user = <replication_user>
6. El esclavo se conecta a través de un usuario al maestro. Contraseña del usuario.
Master – password = <replication_user_password>
7. Número de segundos que esperará el esclavo para reintentar conectarse al maestro en caso de una pérdida de conexión.
Master – connect – retry = 50
8. Número de reintentos de reconexión
Master – retry – count = 5000
9. Realizamos una copia de seguridad de la base de datos del maestro sobre el servidor esclavo.
Desde la consola ejecutamos los siguientes comandos:
[Maestro]: <MYSQL_HOME>/bin/mysql -u root –password = <contraseña> -e "FLUSH TABLES WITH READ LOCK"
Para limpiar las caches y bloquear el acceso de cualquier aplicación a la base de datos.
[Maestro]: <MYSQL_HOME>/bin/mysqldump --u root –password = <contraseña> --opt bd_autentia > backup.sql
Realizamos una copia completa de la base de datos en el archivo backup.sql.
[Esclavo]: <MYSQL_HOME>/bin/mysql --user=root –password = <contraseña> bd_autentia < backup.sql
Para Restaurar la Copia de Seguridad en el Esclavo
[Esclavo]: <MYSQL_HOME>/bin/mysqladmin -u root –password = <contraseña> shutdown
Detenemos el Servidor Esclavo
[Maestro]: <MYSQL_HOME>/bin/mysqladmin -u root –password = <contraseña> shutdown
Detenemos el servidor maestro (Se desbloquearán las tablas de las bases de datos previamente bloqueadas)
[Esclavo]: <MYSQL_HOME>/bin/mysqld-nt –defaults file="<MYSQL_HOME>\my.ini" MySQL
Iniciamos el Servidor, el cual Tomará la Nueva Configuración:
[Maestro]: <MYSQL_HOME>/bin/mysqld-nt --defaults-file="<MYSQL_HOME>\my.ini" MySQL
5.1.3.3 Métodos de Recuperación de un DBMS
Recuperarse al fallo de una transacción significa que la base de datos se restaura al estado coherente más reciente, inmediatamente anterior al momento del fallo para esto el sistema guarda las información sobre los cambios de las transacciones esta información se guarda en el registro del sistema.
1. Si hay un fallo como la caída del disco, el sistema restaura una copia se seguridad del registro, hasta el momento del fallo.
2. Cuando el daño se vuelve inconsistente, se pueden rehacer algunas operaciones para restaurar a un estado consistente. En este caso no se necesita una copia archivada.
Actualización Diferida: No se actualiza físicamente la base de datos Hasta que no haya alcanzado su punto de confirmación.
Actualización Inmediata: La base de datos puede ser actualizada por Algunas Operaciones antes de que esta última alcance su punto de confirmación.
Tipos de Almacenamiento
· Almacenamiento Volátil: no sobrevive a las caídas del sistema.
· Almacenamiento no Volátil: disco, cinta...: existen accidentes.
· Almacenamiento Estable Frente al no Estable: la información no se pierde “nunca”, se repite en varios medios no volátiles (disco) con modos de fallo independientes.
Almacenamiento en Caché (Búfer) de los Bloques de Disco
El proceso de recuperación se entrelaza con funciones del sistema operativo en particular con el almacenamiento en caché o en búfer en la memoria principal, Normalmente se reserva una colección de búferes en memoria, denominados caché DBMS. Se utiliza un directorio para rastrear los elementos de la base de datos que se encuentra en los búferes.
Bit Sucio: que puede incluirse en la entrada del directorio, para indicar si se ha modificado o no el búfer.
Pin: Un pin dice que una página en caché se está accediendo actualmente.
Actualización en el Lugar (In Place): Escribe en el búfer la misma ubicación de disco original.
Shadowing (en la Sombra): Escribe un búfer actualizado en una ubicación diferente.
BFIM (Before Image): Imagen antes de la actualización.
AFIM (After Image): Imagen después de la actualización.
Registro Antes de la Escritura, Robar/No-Robar y Forzar no Forzar
En este caso, el mecanismo de recuperación debe garantizar la grabación de la BFIM de los datos en la entrada apropiada del registro del sistema y que esa entrada se vuelque en el disco antes que la BFIM sea sobrescrita con la AFIM de la base de datos del disco.
Puntos de Control en el Registro del Sistema y Puntos de Control Difusos
Otro tipo de entrada en el registro es el denominado punto de control (checkpoint). En este punto el sistema escribe en la base de datos, en disco, todos los búferes del DBMS que se han modificado.
No tienen que rehacer sus operaciones, es decir, ESCRIBIR en caso de una caída del sistema.
El gestor de recuperaciones de un DBMS debe decidir en qué intervalos tomar un punto de control.
La toma de un punto de control consiste en las siguientes acciones:
1. Suspender temporalmente la ejecución de las transacciones.
2. Forzar la escritura de disco de todos los búferes de memoria que se hayan modificado.
3. Escribir un registro (checkpoint) en el registro del sistema y forzar la escritura del registro en el disco.
4. Reanudar la ejecución de las transacciones.
Diarios para Recuperación
· Se utilizan también los términos log y journal.
· Mantiene un registro de todas las operaciones que afectan a ítems de la base de datos.
· Esta información permite recuperar.
· Se almacena en disco.
· Operaciones posibles a reflejar:
[start, T]
[write, T, X, valor_viejo, valor_nuevo] (Opcional)
[read, T, X]
[commit, T]
[abort, T]
undo, redo
5.3.1.6 Monitoreo de Modos de Operación
Las operaciones forman parte de las actividades diarias relacionadas con el hardware y software utilizado en las organizaciones. Esta función es particularmente importante cuando se ejecutan tares de cómputos centralizados y destacan las siguientes:
1. Administración de Recursos: La administración es responsable de asegurar que los recursos necesarios estén disponibles para realizar las actividades.
2. Normas y Procedimientos: La administración es responsable por establecer las normas y los procedimientos necesarios para todas las operaciones en conformidad con las estrategias y políticas generales del negocio.
3. Monitoreo de los Procesos de Operación: La administración es responsable de monitorear y medir la efectividad y eficiencia de los procesos de operación. La administración es responsable de monitorear y medir la efectividad y eficiencia de los procesos de operación, de modo que los procesos sean mejorados a través del tiempo.
4. Operaciones de Plataforma de Hardware
5. Soporte Técnico
6. Cronogramas de Ejecución de Trabajos
7. Control de Entrada/Salida de Datos
8. Aseguramiento de Calidad
9. Control de Cambios
10. Administración de la Configuración
11. Función de Bibliotecario
12. Procedimientos de Administración de Problemas
13. Procedimientos para Monitorear el Uso Eficaz y Eficiente de los Recursos
14. Administración de la Seguridad Física y del Ambiente
15. Administración de la Seguridad de Información
5.3.1.7 Monitoreo de Espacios Espejeados
La administración de espejeado protege la integridad de los datos mediante el almacenamiento de copias de los datos en varios discos. El tipo e grupo de discos determina los niveles de creación de reflejo con el que se crean los archivos en un grupo de discos.
Cuando se crea un grupo de discos, se especifica un tipo de grupo de discos ASM basado en los siguientes 3 niveles de redundancia.
· Normal de 2 vías de reflejo
· Alta de 3 vías de reflejo
· Externa a no utilizar la creación de reflejos ASM
5.3.2 Auditoría
Es el proceso que permite medir, asegurar, demostrar, monitorear y registrar los accesos a la información almacenada en las bases de datos incluyendo la capacidad de determinar:
· Quién accede a los datos
· Cuándo se accedió a los datos
· Desde qué tipo de dispositivo/aplicación
· Desde que ubicación en la Red
· Cuál fue la sentencia SQL ejecutada
· Cuál fue el efecto del acceso a la base de datos
La auditoría se ha convertido en una herramienta importante en los últimos 10 años, para el análisis de las violaciones de datos.
La auditoría es el control y registro de las acciones de la base de datos de usuarios seleccionados, tanto de los usuarios de bases de datos y no usuarios de la base de datos.
Normalmente se utiliza la auditoría para realizar las siguientes actividades:
· Activar la Rendición de Cuentas de las Acciones: Estas incluyen acciones tomadas de un determinado esquema, tabla o fila, o que afecten a un contenido específico.
· Disuadir a los usuarios (o los otros, como intrusos) de acciones inapropiadas basadas en la rendición de cuentas.
· Investigar actividades sospechosas.
5.3.2.1 Habilitación y Deshabilitar el Modo de Auditoría
La activación de la auditoría en Oracle Database viene definida por el valor del parámetro: audit_trail. Para comprobar si la auditoría de la base de datos está activada ejecutaremos el siguiente comando SQL:
select name, value
from v$parameter
where name like 'audit_trail'
Posibles valores del parámetro AUDIT_TRAIL:
Para activar la auditoría:
ALTER SYSTEM SET audit_trail = "DB" SCOPE=SPFILE;
Para desactivar la auditoría ejecutaremos el siguiente comando:
ALTER SYSTEM SET audit_trail = "NONE" SCOPE=SPFILE;
· DBA_AUDIT_TRAIL: Muestra la auditoría estándar (de la tabla AUD$) relativa al usuario actual. Es una lista de todas las entradas en la tabla SYS.AUD$ colectada por el comando audit.
· DBA_AUDIT_OBJECT: Lista las opciones de entrada de auditorías para auditar objetos de la base de datos.
· DBA_AUDIT_EXISTS: Es una lista de entradas de auditoría generadas por la opción EXISTS en el comando AUDIT.
· DBA_AUDIT_SESSION: Muestra las entradas de auditoría generadas por conexiones o desconexiones de sesiones.
· DBA_AUDIT_STATEMENT: Es una lista de entradas de auditorías, con la información recolectada de las opciones de sentencias en el comando audit.
Las principales vistas para obtener resultados de la auditoría, son las siguientes:
Funcionamiento del Comando AUDIT
Permite iniciar los tipos de auditoría que a continuación se detallan. Este comando puede funcionar aunque no esté activada la auditoría de la base de datos, pero no dejara constancia, para que funcione correctamente es necesario que la auditoría esté activada.
Sintaxis:
AUDIT
{sql_statement_clause \ schema_object_clause | NETWORK}
[BY {SESSION \ ACCES}]
[WHENEVER [NOT] SUCCESFUL];
Funcionamiento del Comando NOAUDIT
Se utiliza para detener la actividad de auditoría que se había activado previamente con la instrucción AUDIT.
Sintaxis:
NOAUDIT
{sql_statement_clause | schema_object_clause | NETWORK}
[WHENEVER [NOT] SUCCESFUL];
5.3.2.2 Consultas de las Tablas Vistas con Información de la Auditoría
El diccionario de la BD contiene una tabla llamada SYS.AUD$ que puede contener información sobre las operaciones realizadas por los usuarios.
Para más fácil manejo de esta tabla, existen una serie de vistas que se crean ejecutando el script de SQL CATAUDIT.SQL que son de mucha utilidad a la hora de visualizar la información recogida. Esas vistas se borran con el script CATNOAUD.SQL
Dependiendo de los objetos auditados se recoge distinto tipo de información. En cualquier caso, siempre se recoge sobre el usuario, sesión, terminal, objeto accedido, operación realizada y finalización de la operación.
5.4 Herramientas de Software y Hardware para Monitoreo y Administración Automática
Monitorizar es una tarea imprescindible del administrador. Obviamente no podemos monitorizar en todo momento y debemos hacerlo con cierta regularidad y de la manera más automatizada posible. Existen multitud de programas que permiten monitorizar, no solo nuestro servidor de base de datos, si no múltiples servicios en redes de toda clase.
Herramientas:
1. Consolas Administrativas Ilimitadas.
2. Consultas Personalizadas para agregar dentro de la Interfaz en forma Ilimitada.
3. Base de datos Abierta para integraciones personalizadas de otros dispositivos (equipos de comunicación, servidores etc.
· Control de Activos Tangibles y no Tangibles.
· Capacidad de cruzar información automática recolectada con la información insertada en forma manual.
· Creación y personalización en forma ilimitada por consultas Editables que nos permitirá adaptar necesidades reales que requiera la CMDB.
4. Bitácora de Uso de software por Día y Mes de los aplicativos brindado los minutos y horas de su utilización por PC.
No hay comentarios:
Publicar un comentario