Sie sind auf Seite 1von 44

5.

1 Respaldo y Recuperacin
El respaldo es uno de los pasos ms importantes que puedes dar para
proteger tu informacin. Cuando algo sale mal, como fallas en disco duro,
borrado accidental de archivos o infecciones por malware, son tu ltimo
recurso. En esta edicin, te explicamos cmo respaldar tu informacin y
preparar una estrategia adecuada para ti.
Qu Respaldar y Cundo
Existen dos aspectos fundamentales para decidir qu respaldar: la
informacin que hayas generado o que sea importante para ti, como
documentos, fotografas 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 ms fcil recuperar el sistema
en caso de un fallo completo. Si no ests seguro de qu respaldar, respalda
todo. A continuacin, tendrs que decidir qu tan seguido respaldar tu
informacin. Lo ms comn 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 restauracin de Windows,
permitirn fijar un horario automtico de respaldo progrmalo y olvdate. Otras
soluciones ofrecen proteccin continua, en la cual los archivos nuevos o
modificados son respaldados inmediatamente tan pronto sean cerrados. Si
perteneces a una organizacin con muchas computadoras, quizs te gustara
definir tu propio calendario. Sera bueno que consideraras cunta informacin
ests 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 da. Muchas organizaciones programan respaldos diarios fuera de las
horas pico para minimizar el impacto la operacin normal.
Cmo Respaldar
En general, existen dos recursos en los que puedes respaldar tu
informacin: medios fsicos o almacenamiento en la nube. Ejemplos de medios
fsicos incluyen DVDS, dispositivos USB, cintas magnticas o discos duros
adicionales. Evita respaldar en el mismo dispositivo que contiene los archivos
originales. Cuando uses medios fsicos asegrate de etiquetarlos, tanto interna
(en el nombre del archivo) como externamente (sobre el dispositivo), para que
puedas identificar fcilmente 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 opcin ms 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 dnde


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 aplicacin en tu computadora. Despus de configurar las
opciones de respaldo, archivos nuevos y modificados son respaldados
automticamente a travs de Internet en servidores del centro de datos del
proveedor.
Finalmente, necesitas decidir por cunto tiempo conservars tus respaldos.
Es probable que los usuarios caseros no necesiten mantenerlos por ms de
treinta das. Algunas organizaciones cuentan con polticas o requerimientos
legales para resguardar por periodos ms largos, as como reglas para la
destruccin de respaldos obsoletos. Si ests respaldando informacin de tu
organizacin, verifica con el grupo de TI, legal o de gestin 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.
Recuperacin
Respaldar tu informacin es slo la mitad de la batalla; ahora tienes que
asegurarte de que puedes recuperarla fcilmente. Practica regularmente tu
proceso de recuperacin, tal y como haras 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 ms robusta, sobre todo para las organizaciones, considera hacer
la recuperacin completa del sistema y verifica que sea recuperable. Si no
cuentas con hardware externo para la prueba de recuperacin completa del
sistema, restaura archivos y carpetas importantes en una ubicacin diferente y
luego verifica si recuperaste y puedes abrir todo.
5.1.1 Espejeo (Mirroring)
Base de Datos Espejo (Database Mirroring) es una configuracin donde dos
o tres servidores de dase de datos, ejecutndose 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 cul 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 configuracin 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 Compaeros
(Partners).
5.1.1.1 Beneficios del Espejeo de Datos en un DBMS
La creacin 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 conmutacin automtica por error, la
conmutacin por error pone en lnea rpidamente la copia en espera de la base
de datos, sin prdida de datos. En los dems modos operativos, el
administrador de bases de datos tiene la alternativa del servicio forzado (con
una posible prdida de datos) para la copia en espera de la base de datos.
Para obtener ms informacin, vea Conmutacin de roles, ms adelante en
este tema.
Aumenta la proteccin de los datos. La creacin de reflejo de la base de
datos proporciona una redundancia completa o casi completa de los datos, en
funcin de si el modo de funcionamiento es el de alta seguridad o el de alto
rendimiento. Para obtener ms informacin, vea Modos de funcionamiento,
ms adelante en este tema.
Un asociado de creacin de reflejo de la base de datos que se ejecute en
SQL Server 2008 Enterprise o en versiones posteriores intentar resolver
automticamente cierto tipo de errores que impiden la lectura de una pgina de
datos. El socio que no puede leer una pgina, solicita una copia nueva al otro
socio. Si la solicitud se realiza correctamente, la copia sustituir a la pgina que
no se puede leer, de forma que se resuelve el error en la mayora de los casos.
Para obtener ms informacin, vea Reparacin de pgina automtica (grupos
de disponibilidad/creacin de reflejo de base de datos).
Mejora la disponibilidad de la base de datos de produccin 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 creacin de reflejo de la base de datos. Esto
incurrir en el tiempo de inactividad de solo una conmutacin por error nica.
Esta forma de actualizacin se denomina actualizacin gradual. Para obtener
ms informacin, vea Instalar un Service Pack en un sistema con un tiempo de
inactividad mnimo para bases de datos reflejadas.
5.1.1.2 Activacin de Espejeo en un DBMS

5.1.1.3 Creacin de Espacios de Disco con Espejo


Discos Espejo
Espejeado de disco significa que se conectan dos unidades de disco al
mismo controlador de disco. Las dos unidades se mantienen idnticas cuando
el servidor escribe en una unidad (la primaria), posteriormente se escribe en (la
secundaria). Si durante la operacin falla, la unidad primaria, en su lugar se
utiliza la secundaria. Si la secundaria falla, no importa. En ambos casos los
usuarios experimentan una breve pausa mientras el servidor se asegura que la
unidad est muerta, y luego se regresa al servicio normal.
Como sucede con todas las cosas buenas, hay una desventaja. Para contar
con este nivel de confiabilidad, se necesita un segundo disco duro, lo
que duplica el costo del almacenamiento de datos. Pero en lo que concierne a

su organizacin, tal vez valga la pena el costo relativamente pequeo de una


unidad de disco, para evitar lo que de otra manera seria un desastre. Una de
las desventajas de los discos espejos es la perdida de rendimiento. Dado que
un controlador manejados unidades primarias para escribir los datos en la
unidad secundaria. Esto provoca que las escrituras en disco se tarden el doble.
En un servidor con carga ligera esto quizs no sea tan malo desde el punto de
vista del usuario, ya que el cach de disco del servidor hace que el acceso a
disco perezca extremadamente rpido. Sin embargo, la sobrecarga puede
llegar a ser significativa en un sistema con carga pesada.
Otra de las desventajas del espejeado es que el controlador de disco duro o
los cables de conexin llegan a fallar. Los datos se pueden leer desde la unidad
o matriz duplicada sin que se produzcan interrupciones. Es una alternativa
costosa para los grandes sistemas, ya que las unidades se deben aadir
en pares para aumentar la capacidad de almacenamiento, para los disco
espejos. Los discos espejos tambin llamado "duplicacin" (creacin de discos
en espejo).Se basa en la utilizacin de discos adicionales sobre los que
se realiza una copia en todo momento de los datos que se estn modificando.
El cual ofrece una excelente disponibilidad delos datos mediante la
redundancia total de los mismos. Administracin del espacio libre en un disco.
Es necesario saber qu bloques estn libres. Las opciones son parecidas
a las que se pueden usar para administrar espacio en memoria. Mapa de bits.
Un bit por bloque. Es eficiente si se puede mantener el mapa entero en
memoria. Disco de 1 GB, con bloques de 512 KB requiere un mapa de 256 KB.
Usado en los MACS. Lista ligada. En un bloque reservado (fijo) del disco se
registran las direcciones de los bloques desocupados. La ltima direccin
apunta no a un bloque libre, sino a otro bloque con ms direcciones de bloques
libres. En MS-DOS se usa la misma FAT para administrar el espacio libre.
Cachs de Disco
Ya que el disco es tan lento comparado con la memoria (unas 10000 veces)
resulta rentable usar un cach para mantener en memoria fsica parte de la
informacin que hay en el disco, de manera que, si en el futuro se requiere un
bloque que ya est en memoria, se ahorra el acceso al disco.
Igual que en el caso de memoria virtual, hay que tratar de adivinar
qu bloques se van a acceder en el futuro cercano, para mantener esos
bloques en el cach. Pero al contrario de lo que ocurre con memoria virtual, no
se requiere ningn apoyo especial del hardware para implementar LRU. Ya que
todos los accesos a disco pasan por las manos del sistema operativo.
Paradjicamente, LRU no es necesariamente la mejor alternativa tratndose de
bloques de disco. Por otra parte, algunos delos bloques contienen informacin
crtica respecto del sistema de archivos. Si este bloque es modificado y
puesto al final de la cola LRU, puede pasar un buen tiempo antes de que llegue
a ser el menos recientemente usado, y sea escrito en el disco para ser

reemplazado. Si el sistema se cae antes que eso, esa informacin crtica se


perder, y el sistema de archivos quedar en un estado inconsistente.
Planificacin de Disco
Un disco, mirado desde ms bajo nivel, no es simplemente una secuencia
de bloques. Estn compuestos de platos, cada uno de los cuales contiene
una serie de pistas o tracks concntricos. A su vez, las pistas se dividen en
sectores. Las pistas exteriores, que son ms grandes, pueden contener ms
sectores que las interiores. (En un CD, en realidad hay una espiral de
sectores.)Existe un brazo mecnico con un cabezal lector/escritor para cada
plato. El brazo mueve todos los cabezales juntos. Un cilindro se conforma por
las pistas que los cabezales pueden leer cuando el brazo est en una posicin
determinada. Los bloques lgicos (secuenciales) que ve el sistema de archivos
deben traducirse a un tro (cilindro, plato, sector). El tiempo requerido para leer
un sector depende de:
1. El tiempo de bsqueda (seek time), es decir, el tiempo requerido para
mover el brazo al cilindro apropiado.
2. El retardo rotacional, o sea, el tiempo que hay que esperar hasta que el
sector requerido pase por debajo del cabezal.
3. El tiempo de transferencia de los datos.
El primero es el que predomina, de manera que conviene reducirlo para
aumentar la eficiencia del sistema. El sistema de archivo puede ayudar (por
ejemplo, con asignacin contigua).Obviamente, bloques en el mismo cilindro
deben considerarse contiguos. Pero hay otra cosa que se puede hacer,
considerando que en un sistema con muchos procesos la cola de solicitudes
pendientes de un dispositivo suele no estar vaca: atenderlas en un orden que
reduzca los movimientos del brazo.
Algoritmos de Planificacin de Disco
FIFO
Es simple, pero no estamos haciendo nada por la eficiencia. Es malo si las
solicitudes se alternan entre cilindros exteriores e interiores.
SSTF (Shortest Seek-Time First)
Se trata de atender primero las solicitudes ms cercanas a la posicin
actual del brazo. El problema es que, cuando hay muchas solicitudes,
es posible que slo se atiendan las cercanas al centro. Puede haber inanicin
para los procesos que solicitan cilindros delos extremos.

Algoritmo del Ascensor


Para evitar inanicin, se mantiene la direccin de movimiento del brazo
hasta que no queden solicitudes pendientes en esa direccin. Es lo mismo que
hacen los ascensores. Un pequeo problema es que las solicitudes en los
extremos tienen, en promedio, un tiempo de espera mayor.
Discos RAM
Gracias a la estructuracin en capas, podemos usar el mismo sistema
de archivos en cualquier dispositivo de bloques con un driver adecuado, que
implemente la interfaz para el software independiente del dispositivo. Por
ejemplo, en los primeros computadores personales, que tenan slo una
disquetera como medio de almacenamiento, era habitual crear un disco RAM,
es decir reservar un trozo de la memoria para usarlo como un disco virtual,
para almacenar archivos. Un driver de disco RAM es extremadamente simple.
5.1.2. Rplica (Replication)
La replicacin 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 replicacin de discos y particiones es la respuesta a una parte importante
de esas dos acciones de mantenimiento. La replicacin 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 particin, un disco o incluso varios
discos.
La replicacin es til para:

Copia de Seguridad

En condiciones normales, una base de datos replicada de forma correcta es


vlida como copia de seguridad.
Adems se puede realizar copias de seguridad usando un servidor esclavo
para as no interferir al servidor maestro.

Mejorar la Escalabilidad

Podramos configurar nuestras aplicaciones para balancear las consultas de


lectura (SELECT) entre los servidores replicados.

Podramos usar herramientas como MySQL Proxy para balancear las


consultas de lectura entre los servidores replicados y enviar las consultas de
actualizacin de datos al maestro.

Alta Disponibilidad

En aplicaciones y entornos en donde slo se requieren lecturas, podramos


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 modificacin de datos
o estructura.
En el caso de la replicacin es importante saber que cada servidor esclavo
se conecta al servidor maestro y le solicita que le enve las sentencias
registradas en los logs binarios a partir de una posicin, para ello, cada esclavo
mantiene un archivo a modo de ndice en donde registra la posicin actual de la
replicacin.
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 replicacin
(START SLAVE) o se reestablezca la comunicacin... 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 cuestin de
segundos ambos servidores tendrn las bases de datos con el mismo
contenido y estructura.
Probando la Replicacin
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 instantneamente 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 cuestin de
milisegundos ambas bases de datos deberan de ser iguales.
5.1.2.1 Beneficios de la Rplica de Datos en un DBMS

La replicacin se usa mucho en sistema de acceso a datos por varios


motivos:
Rendimiento: Normalmente y dependiendo del caso, hay ms
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 sincrnicamente
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 replicacin para tener
la seguridad de que los datos estn siendo copiados a otro nodo, en caso
de sufrir un desperfecto en el maestro.
Generacin de Bloqueos: aunque sta es ms precisa, tambin 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 estadsticas.
5.1.3 Mtodos de Respaldo de un DBMS
En mySQL existen varios mtodos para la realizacin 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 prctica se utiliz el tipo de tabla InnoDB y el mtodo de
backup utilizado es el que funciona con este tipo de tablas.
InnoDB es una de las tecnologas de almacenamiento que utiliza mySQL, es
de codigo abierto. Entre sus caractersticas principales estan que soporta
transacciones con caractersticas 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 caractersticas ms
importantes pues una base de datos sin integridad referencial, es nada ms un
conjunto de datos que no denotan informacin.
Este tipo de almacenamiento tambin 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
compresin de datos, por lo que ocupa un poco ms 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 compaa uno tiene que definir muy bien cul es la
informacin crtica para la empresa, por ejemplo la msica que guarde un
empleado en su PC no es crtica para las actividades de la empresa ni lo son
las fotos de su ltima fiesta. En cambio su correo electrnico, 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 informacin 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 electrnico

Directorios telefnicos 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.

Imgenes y Fotografas de proyectos

Configuraciones de servicios

Clasificacin de Respaldos

Copias de Informacin (Backups)

Estos respaldos son slo 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 comn. Existen varios tipos de Software que automatizan la ejecucin
de estos respaldos, pero el funcionamiento bsico 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 Informacin" (tpicamente 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 comnmente 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, slo aquellos archivos


que tengan el archive bit sern respaldados; estos archivos (o bloques) son los
que han sido modificados despus de un Respaldo Completo. Adems cada
Respaldo de Incremento que se lleve a cabo tambin 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 Actualizacin de la Informacin
Hay dos puntos importantes en cuanto a la actualizacin de la informacin:

Que tan frecuentemente se actualiza la informacin

Si queremos guardar un histrico de la informacin o no

No toda la informacin se actualiza con la misma frecuencia, hay informacin


que puede durar aos sin ser modificada y otra que se actualice
constantemente todos los das, es importante definir qu informacin se
actualiza y en qu momento para hacer una poltica de respaldo ms eficiente.
La mayora de las aplicaciones de respaldos hacen esto automticamente
fijndose en la fecha de modificacin del archivo y comparndola con la que
tiene en el respaldo.
El otro punto es si queremos hacer un respaldo con histricos o duplicados,
en este caso tenemos que indicarle al programa que no queremos que nos
borre o sobrescriba ningn archivo y que vaya guardando los archivos con su
respectiva fecha y con qu frecuencia queremos hacer el respaldo.
En caso de que haya informacin que se pueda sobrescribir o actualizar, se
realiza un respaldo incremental donde slo se actualiza lo que ha cambiado del
archivo lo que mejora la eficiencia de nuestro sistema. Esto realmente va a
depender del tipo de informacin y vara de empresa a empresa pero es algo
importante que tengamos que tomar en cuenta ya que toda la informacin no
es igual.

5.1.3.2 Comandos para Respaldo de Datos


A continuacin vamos a exponer los pasos y comandos para realizar la
replicacin de una base de datos en un nico servidor esclavo. Si quisiramos
configurar ms esclavos, los pasos a realizar seran los mismos sobre cada
uno de los esclavos.
1. Creamos un usuario MySQL en el servidor maestro con privilegios
de replicacin.
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
'<replication_user>'@'<slave_address>'

ON

*.*

TO

4. Con la sentencia anterior el usuario slo tendra permiso de


acceso desde la mquina <slave_address>, en caso de no requerir esta
medida de seguridad puedes sustituir el comodn % por el parmetro
<slave_address>.
Configuracin del Servidor Maestro
1. Deberemos agregar las siguientes lneas al final del archivo de
configuracin del servidor MySQL, por defecto: <MySQL_HOME>/my.ini
2. Identificador nico del servidor MySQL dentro de todos los
servidores implicados en la replicacin.
Server id = 1
3. Al especificar el parmetro log-bin estamos activando el log
binario.
4. No especificamos un valor para el parmetro de configuracin (por
defecto ser <nombre_maquina > - bin).
Log bin =
5. El log binario slo tendr las actualizaciones realizadas sobre la
base de datos "bd_autentia"

6. Si adems quisiramos replicar otras bases


duplicaramos este parmetro para cada base de datos.

de

datos,

Binlog do db = bd_autentia
Configuracin del Servidor Esclavo
1. Deberemos agregar las siguientes lneas al final del archivo de
configuracin del servidor MySQL, por defecto: <MySQL_HOME>/my.ini
2. Identificador nico del servidor MySQL dentro de todos los
servidores implicados en la replicacin.
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 direccin IP del maestro.
Master host = <master_address>
5. El esclavo se conecta a travs de un usuario al maestro.
Identificador del usuario.
Master user = <replication_user>
6. El esclavo se conecta a travs de un usuario al maestro.
Contrasea del usuario.
Master password = <replication_user_password>
7. Nmero de segundos que esperar el esclavo para reintentar
conectarse al maestro en caso de una prdida de conexin.
Master connect retry = 50
8. Nmero de reintentos de reconexin
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 = <contrasea>


-e "FLUSH TABLES WITH READ LOCK"
Para limpiar las caches y bloquear el acceso de cualquier aplicacin a la
base de datos.
[Maestro]: <MYSQL_HOME>/bin/mysqldump
<contrasea> --opt bd_autentia > backup.sql

--u

root

password

Realizamos una copia completa de la base de datos en el archivo


backup.sql.
[Esclavo]: <MYSQL_HOME>/bin/mysql
<contrasea> bd_autentia < backup.sql

--user=root

password

Para Restaurar la Copia de Seguridad en el Esclavo


[Esclavo]: <MYSQL_HOME>/bin/mysqladmin
<contrasea> shutdown

-u

root

password

-u

root

password

Detenemos el Servidor Esclavo


[Maestro]: <MYSQL_HOME>/bin/mysqladmin
<contrasea> shutdown

Detenemos el servidor maestro (Se desbloquearn las tablas de las bases


de datos previamente bloqueadas)
[Esclavo]: <MYSQL_HOME>/bin/mysqld-nt
file="<MYSQL_HOME>\my.ini" MySQL

defaults

Iniciamos el Servidor, el cual Tomar la Nueva Configuracin:


[Maestro]: <MYSQL_HOME>/bin/mysqld-nt
file="<MYSQL_HOME>\my.ini" MySQL

--defaults-

5.1.3.3 Mtodos de Recuperacin de un DBMS


Recuperarse al fallo de una transaccin significa que la base de datos se
restaura al estado coherente ms reciente, inmediatamente anterior al
momento del fallo para esto el sistema guarda las informacin sobre los
cambios de las transacciones esta informacin se guarda en el registro del
sistema.
1. Si hay un fallo como la cada del disco, el sistema restaura una
copia se seguridad del registro, hasta el momento del fallo.

2. Cuando el dao se vuelve inconsistente, se pueden rehacer


algunas operaciones para restaurar a un estado consistente. En este
caso no se necesita una copia archivada.
Actualizacin Diferida: No se actualiza fsicamente la base de datos
Hasta que no haya alcanzado su punto de confirmacin.
Actualizacin Inmediata: La base de datos puede ser actualizada por
Algunas Operaciones antes de que esta ltima alcance su punto de
confirmacin.
Tipos de Almacenamiento

Almacenamiento Voltil: no sobrevive a las cadas del sistema.

Almacenamiento no Voltil: disco, cinta...: existen accidentes.

Almacenamiento Estable Frente al no Estable: la informacin no se


pierde nunca, se repite en varios medios no voltiles (disco) con modos de
fallo independientes.
Almacenamiento en Cach (Bfer) de los Bloques de Disco
El proceso de recuperacin se entrelaza con funciones del sistema operativo
en particular con el almacenamiento en cach o en bfer en la memoria
principal, Normalmente se reserva una coleccin de bferes en memoria,
denominados cach DBMS. Se utiliza un directorio para rastrear los elementos
de la base de datos que se encuentra en los bferes.
Bit Sucio: que puede incluirse en la entrada del directorio, para indicar si se
ha modificado o no el bfer.
Pin: Un pin dice que una pgina en cach se est accediendo actualmente.
Actualizacin en el Lugar (In Place): Escribe en el bfer la misma
ubicacin de disco original.
Shadowing (en la Sombra): Escribe un bfer actualizado en una ubicacin
diferente.
BFIM (Before Image): Imagen antes de la actualizacin.
AFIM (After Image): Imagen despus de la actualizacin.
Registro Antes de la Escritura, Robar/No-Robar y Forzar no Forzar

En este caso, el mecanismo de recuperacin debe garantizar la grabacin


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 bferes del DBMS que se han modificado.
No tienen que rehacer sus operaciones, es decir, ESCRIBIR en caso de una
cada 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 ejecucin de las transacciones.
2. Forzar la escritura de disco de todos los bferes 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 ejecucin de las transacciones.
Diarios para Recuperacin

Se utilizan tambin los trminos log y journal.

Mantiene un registro de todas las operaciones que afectan


a tems de la base de datos.

Esta informacin 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

Tcnicas de Recuperacin Basadas en la Actualizacin Diferida


Graba todas las actualizaciones de la BD en el diario, pero
aplaza la ejecucin de todas las operaciones de escritura (write) de una
transaccin hasta que sta se encuentre parcialmente cometida.

Solamente requiere el nuevo valor del dato.

Si la transaccin aborta (no llega


simplemente hay que ignorar las anotaciones en el diario.

committed),

Para recuperaciones usa el procedimiento: redo (Ti), que


asigna los nuevos valores a todos los datos que actualiza Ti.
Despus de ocurrir un fallo, se consulta el diario para
determinar que transacciones deben repetirse y cuales anularse.
Ti debe anularse si el diario contiene el registro start pero no el commit.
Ti debe repetirse si el diario contiene el registro start y el commit.
La operacin redo debe ser idempotencia, es decir,
ejecutarla varias veces debe producir el mismo resultado que ejecutarla una
sola vez.
Los Redo comienzan a hacerse en el ltimo checkpoint no sabemos si la
informacin est en disco o en memoria.
Recuperacin Mediante la Actualizacin Diferida en un Entorno
Monousuario

El algoritmo RDU se utiliza un procedimiento rehacer, proporcionado con


posterioridad.
Para rehacer determinadas operaciones escribir_elemento.

Actualizacin Diferida con Ejecucin Concurrente en un Entorno


Multiusuario

Recuperaciones Basadas en Actualizaciones Inmediatas


Permite que las actualizaciones se graben en la BD
mientras la transaccin est todava en estado activo (actualizaciones no
cometidas).
Antes de ejecutar un output (X), deben grabarse en
memoria estable los registros del diario correspondientes a X.

Los registros del diario deben contener tanto el valor


antiguo como el nuevo.

recuperacin:

El esquema de recuperacin utiliza dos procedimientos de

undo (Ti): Restaura los datos que Ti actualiza a los valores que tenan
antes.
redo (Ti): Asigna los nuevos valores a todos los datos que actualiza Ti.
Despus de ocurrir un fallo, el procedimiento de
recuperacin consulta el diario para determinar qu transacciones deben
repetirse y cules deshacerse:
1. Ti debe deshacerse si el diario contiene el registro starts pero no
el commit.
2. Ti debe repetirse si el diario contiene el registro starts y el
commit.
Las operaciones undo y redo deben ser idempotencias
para garantizar la consistencia de la BD aun cuando se produzcan fallos
durante el proceso de recuperacin.
Recuperacin Hasta un Punto de Validacin
1. Examina el diario hacia atrs hasta localizar un registro <checkpoint>.
2. Considera slo los registros existentes entre este punto y el final del
diario.
3. Ejecuta undo (Tj) para las transacciones que no tengan registro <Tj
commits>, partiendo del final del fichero.
4. Ejecuta redo (Ti) para las transacciones que tengan su registro <Ti
commits>, partiendo desde el punto de verificacin hasta el final del
diario.
Procedimientos de Recuperacin
Recuperacin Normal
Tiene lugar despus de una parada normal de la mquina,
en la que se escribe un punto de verificacin como ltimo registro del diario.

Este procedimiento se ejecuta cuando el ltimo registro


del diario es un punto de verificacin o recuperacin del sistema.
Este tipo de recuperacin tambin tiene lugar cuando
aborta una transaccin, debido a la razn que sea.
Recuperacin en Caliente

Despus de un error del sistema.

Se ejecuta cuando el ltimo registro del diario no es un


punto de verificacin y el operador no indica prdida de memoria secundaria.
El procedimiento de recuperacin es el indicado en el
apartado referente a los puntos de verificacin en el diario.
Recuperacin en Fro

Despus de un incidente con la memoria masiva daada.

Se ejecuta si se pierden datos o la BD ya no es coherente.

Se utiliza:

1. Copia de seguridad (backup) ms reciente de la BD (Debe


existir).
Diario de las actividades posteriores.
Se aplican las imgenes posteriores al respaldo.

Puede encadenar una recuperacin en caliente.

peridicamente:

Se deben realizar copias de seguridad de la BD

Toda la BD debe copiarse en memoria secundaria.


El proceso de transacciones debe pararse durante el procedimiento de copia
(Costoso).
Algoritmo de Recuperacin ARIES
a) El registro del sistema en el momento de la cada.
b) Las tablas de transacciones y de pginas sucias en el momento de
punto de control.

c) Las tablas de transacciones y de pginas sucias despus de la fase


de anlisis.

Respaldos de Bases de Datos


Siempre es necesario tener un respaldo de nuestras bases de datos, pero
que pasa cuando nuestras bases de datos estn tan pesadas que el
phpMyAdmin se queda colgado. Para eso nos sirve mysqldump un comando
que nos trae MySQL para hacer respaldos de nuestras bases de datos su
sintaxis es la siguiente:
mysqldump [OPTIONS] database [tables]
O mysqldump [OPTIONS] databases [OPTIONS] DB1 [DB2 DB3...]
O mysqldump [OPTIONS] all-databases [OPTIONS]
Algunos de sus parmetros ms utilizados son los siguientes:
-A, all-databases Dump all the databases. This will be same as
databaseswith all databases selected.
add-drop-database Add a DROP DATABASE before each create.
add-drop-table Add a drop table before each create.
add-locks Add locks around insert statements.
allow-keywords Allow creation of column names that are keywords.
create-options Include all MySQL specific create options.

e, extended-insert Allows utilization of the new, much faster INSERT syntax.


p, password[=name] Password to use when connecting to server. If
password is not given its solicited on the tty.
u, user=name User for login if not current user.
Bien, ahora colocamos un ejemplo de su uso:
#Respaldando una nica base de datos
mysqldump -uroot -p all add-locks -e mibase > bkmibase.sql;
#Respaldar todas mis bases de datos
mysqldump -uroot -p all all-databases add-locks -e > bkmisbases.sql;
#Nos conectamos a mysql
mysql -uroot -p
USE mibase;
source /path/TO/mibase.sql;
Como comentario para importar tablas tipo innodb se recomienda agregar:
SET FOREIGN_KEY_CHECKS=0;
Al inicio del archivo y al final con el fin de no obtener errores.
SET FOREIGN_KEY_CHECKS=1;
Soporte para Control de Transacciones y Recuperacin de Fallas
Se conoce como transaccin toda operacin que se haga sobre la base de
datos. Las transacciones deben por lo tanto ser controladas de manera que no
alteren la integridad de la base de datos. La recuperacin de fallas tiene que
ver con la capacidad de un sistema DBMS de recuperar la informacin que se
haya perdido durante una falla en el software o en el hardware.
5.1.4. Comandos para Recuperacin
Hacer una Copia de Seguridad
El comando a utilizar es mysqldump que tiene la siguiente sintaxis:
mysqldump -u [user] -p [dbname] > [backup.sql]

Puesto que se pretende obtener un foto fija de la base de datos, es


conveniente evitar que un acceso inoportuno pueda dejar el fichero volcado es
un estado inconsistente. Esto se puede conseguir con varias opciones aunque
la recomendada es --single-transaction.
Recuperar la Base de Datos desde un Fichero
Se utiliza el mtodo habitual para ejecutar sentencias SQL desde un
fichero. Para el ejemplo sera:
# mysql -u admin -p drupal < drupal_backup.sql
5.1.4.1 Ventajas y Desventajas de cada Mtodo
Ventajas

Facilidad de manejo de grandes volumen de informacin.

Gran velocidad en muy poco tiempo.

Independencia del tratamiento de informacin.

Seguridad de la informacin (acceso a usuarios


autorizados), proteccin de informacin, de modificaciones, inclusiones,
consulta.
No hay duplicidad de informacin, comprobacin de
informacin en el momento de introducir la misma.

Integridad referencial el terminar los registros.

Desventajas

elevados.

El costo de actualizacin del hardware y software son muy

costoso.

Costo (salario) del administrador de la base de datos es

El mal diseo de esta puede originar problemas a futuro.

Un mal adiestramiento a los usuarios puede originar


problemas a futuro.
Si no se encuentra un manual del sistema no se podrn
hacer relaciones con facilidad.

Generan campos vacos en exceso.

El mal diseo de seguridad genera problemas.


5.1.4.2 Aplicacin de cada Mtodo

Copia Simple
Puede ser aplicado en situaciones en las que no requiera de varias
instancias o datos duplicados, como una Red de Oficina.
Copia Doble
Cuando requiera de un soporte estable y prctico a la hora de fallos en el
sistema.
Ejemplo:
Supngase que se deterior fsicamente parte del disco, afectando la
aplicacin. Por lo cual es necesario recuperarla. Se toma el primer juego de
respaldo, se intenta hacer la copia del respaldo al disco y aparece error de
lectura en el respaldo. Se usa entonces el segundo juego y ocurre lo mismo. Al
analizar lo ocurrido se detecta que adems de haberse deteriorado el disco,
est daada la unidad encargada de grabar los respaldos y al tratar de leer los
mismos los daa.
Resultado:
La aplicacin en disco no funciona y los dos juegos de respaldo quedaron
inutilizados. De aqu se concluye la necesidad de hacer otra copia del respaldo,
antes de intentar la recuperacin.
Copia Generacional
Cuando este contenga mayores instancias y requiera de un gran rendimiento
de los datos, como los Bancos.
5.2 Migracin de la Base de Datos
La migracin de bases de datos es generalmente una tarea compleja que no
slo supone transferir datos entre tipos de almacenaje y formatos de un
servidor de base de datos a otro; sino que tambin supone reescribir
sentencias SQL o incluso procedimientos (SPL) de lgica de negocio.
En comparacin con los esquemas estndares de migracin a mano,
ofrecemos una potente gama de herramientas desarrolladas de probada
eficacia en complejos mdulos de bases de datos relacionales. Estas

herramientas y nuestros especialistas pueden asegurar que las transiciones de


las bases de datos se realicen perfectamente, independientemente de la
naturaleza del sistema.
Desde la experiencia, estamos familiarizados con la complejidad, el coste
que supone una larga migracin de bases de datos y los problemas que
aparecen durante el proceso cuando se emplean mtodos inapropiados; ya que
siempre comprobamos con los clientes potenciales que el uso de nuestras
herramientas y mtodos pueda ofrecer una ventaja significativa.
Herramientas de Migracin
En comparacin con la consultora estndar de migraciones, la cual puede
ofrecer poco ms que soporte a la base de datos, nosotros tenemos gran
experiencia en escribir grandes aplicaciones para empresas en sintaxis de la
base de datos nativa y cross. Adems, enseamos a los equipos de las
empresas una metodologa y les proporcionamos una potente gama de
herramientas para reducir costes y optimizar el proceso de migracin.
Estas herramientas incluyen:
Herramienta de copia multi-bases de datos con
conversin automtica desde los tipos de datos (incluyendo tipos de datos
geomtricos)

Comprobacin del esquema multi-base de datos

Gramtica SQL XML

Gramtica DDL XML

Gramtica DML XML

Gramtica SPL XML

Gramtica Triggers XML

Soporte para la conversin de tipos de datos geomtricos

Copia Multi-Base de Datos


La herramienta de copia puede replicar todos los datos desde una base de
datos a una destinacin, independientemente del motor, las tablas creadas, los
ndices, las restricciones y el mapeo de tipos de datos cuando los motores
difieren. Con poco esfuerzo, y despus del tiempo que supone copiar los datos,
se puede ver y explorar los datos en la nueva base de datos. Por supuesto, no
se realiza una migracin en estos casos.


datos objetivo

Genera estructuras de tablas acorde con los tipos de

Desactiva automticamente triggers y secuencias durante


el proceso de copia
Instala automticamente la secuencia asociada despus
de copiar una tabla

Soporta la generacin de bases de datos cruzadas rowid

Soporta la conversin de tipos de datos geomtricos


permitiendo una fcil migracin de motores espaciales

keys

Soporta la construccin de ndices post-copia y foreign

Soporta la compilacin de triggers post-copia y SPL

Comprobacin del Esquema Multi-Bases de Datos


Una vez se empieza una migracin, se puede generar un esquema XML
desde la base de datos original. Esto permite traducir el modelo de base de
datos a cualquier motor.
Sin embargo, qu pasa si el sistema contina operando e incluso sufre
cambios estructurales durante el proceso de migracin? La comprobacin del
esquema compara las bases de datos de tipos diferentes y muestra las
diferencia entre estructuras de tablas, claves primarias, foreign keys, ndices y
restricciones. Tambin, se puede hacer una comparacin con el modelo de
esquema maestro en XML. En ambos casos, se aplicar una propuesta de
cambios para asegurar que se muestra la misma estructura fsica.
Soporte al Desarrollo, Test, Pre-Produccin y Produccin
Las herramientas de migracin estn construidas alrededor de un diccionario
de base de datos. El diccionario permite a los programadores almacenar su
cdigo (sentencias DML, queries SQL, cdigo SPL, datos de tablas iniciales,
etc.), el cual constituye la base de datos de las aplicaciones. Una vez
almacenado en el diccionario, un grupo de comandos web o comandos shell
permite la compilacin, el chequeo o la salida de nuevas actualizaciones para
una base de datos o un grupo.
Sintaxis Xml-Xsql
El motor de traduccin de triggers DDL, DML, SPL proporciona una
estructura con una sintaxis comn XML, en la cual los desarrolladores pueden

escribir aplicaciones en una sintaxis independiente de la propia del motor de


base de datos.
XML-XSQL Syntax Available
DDL
El proceso de copia de una base de datos puede crear automticamente un
modelo XML que genera el Data Definition Language (DDL) de la base de
datos. Se pueden ver todas las tablas y objetos definidos en una definicin
natural XML que permitir la traduccin on-line a la base de datos deseada.
DDL - XML Transformation Sample
DML
Una gramtica XML permite escribir sentencias SQL independientes de la
base de datos.
Procedimientos (Spl)
La lgica de negocio escrita en procedimientos (SPL), funciones o triggers
debe ser reescrita manualmente en XML. Nosotros ofrecemos este servicio o
enseamos como hacerlo. A partir de entonces, se podr traducir
automticamente la lgica al motor que se desee.
Este paso tiene una mayor ventaja sobre la codificacin manual
convencional, ya que el motor de traduccin Axional XSQL validar y generar
el cdigo apropiado sin errores humanos.
El manager de procedimientos (SPL) se encargar del status de compilacin
en las bases de datos deseadas (desarrollo, test y produccin).
Triggers
Si tiene triggers, quizs es conocedor de la complejidad y las diferencias que
supone escribir triggers independientes de la base de datos. Como en el caso
de los procedimientos (SPL), se puede utilizar gramtica XML y el motor de de
traduccin generar los triggers apropiados para la base de datos deseada.
Tipos de Datos Geomtricos
Cuando la base de datos tiene tipos de datos geomtricos, constituye un
caso especial. Ofrecemos transportabilidad entre Oracle Spatial, DB2 Spatial
Extender, Informix Spatial DataBlade y Postgres PostGIS. La gramtica DML
ofrece una amplia gama de funciones para escribir queries independientes de
SQL y el motor de copia DB transferir los datos de forma segura.

5.3 Monitoreo y Auditora de la Base de Datos


Mediante la auditora se intenta monitorizar y registrar acciones en la base
de datos con el fin de:

Investigar actividades maliciosas (borrado de tablas,..)

Detectar privilegios incorrectamente otorgados a usuarios (que


permiten realizar acciones inapropiadas, las cuales son detectadas).
Recoger datos sobre actividades concretas (tablas que se
actualizan, usuarios concurrentes,)
Detectar problemas con la implementacin de polticas de
seguridad (puntos dbiles que generan registros).
5.3.1 Monitoreo
La expresin monitoreo es bastante difundida en el lenguaje cotidiano y la
encontramos a menudo en las noticias de prensa en relacin con fenmenos
de inters colectivo tales como, por ejemplo, la medicin de la calidad del aire
en las ciudades, el medioambiente, el trfico urbano, las enfermedades, etc.
Podemos fcilmente constatar que en las sociedades contemporneas se est
afirmando la tendencia a someter a monitoreo fenmenos complejos que
ataen a la vida de los ciudadanos.
En Bogot, para citar un caso, existe un proyecto, denominado Bogot
Cmo Vamos, definido como un ejercicio ciudadano de seguimiento peridico
y sistemtico a los cambios en la calidad de vida de la ciudad. Esta
observacin tiene como nfasis el cumplimiento de la Administracin Distrital al
Plan de Desarrollo y se realiza en trminos de mayor acceso a bienes y
servicios de mejor calidad, teniendo en cuenta tanto indicadores tcnicos como
la percepcin ciudadana.
El Proyecto, producto de la Alianza Interinstitucional entre la Casa Editorial
El Tiempo, la Fundacin Corona y la Cmara de Comercio de Bogot, se gest
durante la campaa electoral de 1997, ante la ausencia de un ejercicio
ciudadano de rendicin de cuentas que verificara el cumplimiento de las
promesas electorales del candidato, ya elegido como alcalde, y su impacto en
la calidad de vida de la ciudad. El proyecto analiza indicadores relativos a
pobreza y equidad, finanzas pblicas, educacin, salud, servicios pblicos,
responsabilidad ciudadana, entre otros.
En el campo que nos ocupa en este curso, en cambio, el monitoreo o
seguimiento cumple la funcin de recolectar, registrar y procesar informaciones
tiles para describir sistemticamente el estado de avance de un proyecto con
el doble fin de documentar su desempeo y adquirir conocimientos

indispensables para orientar su gestin y trayectoria. Se trata de una funcin


cuya centralidad nadie pone en duda y que se est asentando como prctica
en la mayora de las administraciones pblicas, sobre todo a partir de la
afirmacin del enfoque de la gestin basada en resultados.
De acuerdo con un reciente manual del PNUD3, se puede definir el
seguimiento como un proceso continuo por el que las partes interesadas
obtienen regularmente una retroalimentacin sobre los avances que se han
hecho para alcanzar las metas y objetivos. A diferencia de muchas definiciones
que tratan el seguimiento simplemente como la revisin de los avances en la
implementacin de acciones y actividades, la definicin que usa este Manual se
centra en la revisin de avances en relacin al logro de los objetivos.
En otras palabras, el seguimiento en este Manual no slo se preocupa con la
cuestin de si estamos emprendiendo las acciones que dijimos que haramos,
sino que tambin pregunta si estamos avanzando para lograr los resultados
que dijimos que queramos alcanzar. La diferencia entre estos dos enfoques es
extremadamente importante. En el enfoque ms limitado, el seguimiento se
centra en supervisar los proyectos y el uso de los recursos de la agencia. En el
enfoque ms amplio, el seguimiento tambin implica supervisar las estrategias
y acciones emprendidas por otros, ya sean asociados o no, y decidir las nuevas
estrategias y acciones que se deben llevar a cabo para asegurar el avance
hacia los resultados ms importantes.
5.3.1.1 Monitoreo General de un Sistema Manejador de Base de Datos
Ventajas del monitoreo de un sistema manejador de base de datos:
Incrementa la Disponibilidad de una Base de Datos: Si se
produce un desastre en el modo de alta seguridad con conmutacin
automtica por error, la conmutacin por error pone en lnea rpidamente
la copia en espera de la base de datos, sin prdida de datos. En los
dems modos operativos, el administrador de bases de datos tiene la
alternativa del servicio forzado (con una posible prdida de datos) para la
copia en espera de la base de datos. Para obtener ms informacin, vea
Conmutacin de roles, ms adelante en este tema.
Aumenta la Proteccin de los Datos: La creacin de reflejo de la
base de datos proporciona una redundancia completa o casi completa de
los datos, en funcin de si el modo de funcionamiento es el de alta
seguridad o el de alto rendimiento. Para obtener ms informacin, vea
Modos de funcionamiento, ms adelante en este tema.
Un asociado de creacin de reflejo de la base de datos que se ejecute en
SQL Server 2008 Enterprise o en versiones posteriores intentar resolver
automticamente cierto tipo de errores que impiden la lectura de una pgina de
datos. El socio que no puede leer una pgina, solicita una copia nueva al otro

socio. Si la solicitud se realiza correctamente, la copia sustituir a la pgina que


no se puede leer, de forma que se resuelve el error en la mayora de los casos.
Para obtener ms informacin, vea Reparacin de pgina automtica (grupos
de disponibilidad/creacin de reflejo de base de datos).
Mejora la Disponibilidad de la Base de Datos de Produccin
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 creacin de reflejo de la base
de datos. Esto incurrir en el tiempo de inactividad de solo una conmutacin
por error nica. Esta forma de actualizacin se denomina actualizacin gradual.
Para obtener ms informacin, vea Instalar un Service Pack en un sistema con
un tiempo de inactividad mnimo para bases de datos reflejadas.
5.3.2 Monitoreo de Espacio Libre en Discos
Como DBA una de las responsabilidades es supervisar el espacio en disco.
Siempre hay que asegurarse de que se tiene suficiente para sus bases de
datos, copias de seguridad de bases de datos y cualquier otro tipo de archivos
que va a almacenar en el servidor. Si no controla su espacio en disco y se
asegura de que tienes espacio suficiente, con el tiempo uno de sus procesos
crticos de bases de datos o componentes va a fracasar porque no se puede
asignar el espacio en disco que necesita.
Dentro de SQL Server hay un procedimiento no documentado que nos
puede ayudar a cumplir este cometido. El procedimiento es XP_FIXEDDRIVES,
no lleva parmetros ni nada y nos regresan todos los discos a los que tiene
acceso SQL Server y su espacio disponible en Megabytes.
Es muy sencillo utilizarlo, solo basta con ejecutar el comando xp_fixeddrives
de vez en cuando desde el Analizador de consultas para revisar la cantidad de
espacio libre, aunque este mtodo consume demasiado tiempo para los
administradores de bases de datos. Un mtodo mejor sera automatizar la
ejecucin de este comando peridicamente para revisar la cantidad de espacio
libre.
Algunas tareas de DBA donde la informacin de espacio libre pueden ser
tiles:
La primera que se alerte al DBA cuando el espacio libre
cae por debajo de un umbral especfico en cualquier unidad de SQL Server.
La segunda sera la de realizar un seguimiento de la
historia el espacio libre para la gestin de la capacidad de espacio en disco.
La forma de construir un proceso para alertar a la DEA, cuando cualquiera
de las unidades de disco de SQL Server cae por debajo de un umbral

predeterminado. Para obtener la informacin xp_fixeddrives en una tabla


temporal que se utiliza el siguiente T-SQL.
create table #FreeSpace(
Drive char(1),
MB_Free int)
insert into #FreeSpace exec xp_fixeddrives
A continuacin, por cada unidad se recupera la informacin de espacio libre
a partir de esta tabla temporal y se compara con un umbral que se ha fijado
para cada unidad. Si la cantidad de espacio libre cae por debajo del valor
umbral determinado para la unidad, enviar alerta al DBA mediante
xp_sendmail. Aqu est una muestra de un cdigo que hace precisamente eso.
declare @MB_Free int
create table #FreeSpace(
Drive char(1),
MB_Free int)
insert into #FreeSpace exec xp_fixeddrives
select @MB_Free = MB_Free from #FreeSpace where Drive = 'C'
-- Free Space on C drive Less than Threshold
if @MB_Free < 1024
exec master.dbo.xp_sendmail
@recipients ='greg.larsen@netzero.net',
@subject ='SERVER X - Fresh Space Issue on C Drive',
@message = 'Free space on C Drive has dropped below 1 gig'
Esta alerta de espacio libre bajo permite tiempo al DBA para resolver el
problema de espacio libre antes de que sea crtico, y provoque procesos
fallidos. Tenga en cuenta que el cdigo anterior tiene un umbral diferente de
espacio libre para cada unidad.

Otro uso de xp_fixeddrives podra ser la de controlar el uso de espacio en


disco a travs del tiempo. Para recopilar la informacin de espacio libre a
intervalos regulares, por ejemplo, semanal y lo almacena en una tabla de base
de datos.
Mediante la recopilacin de informacin de espacio libre en el tiempo y
almacenarlo en una tabla del servidor SQL permanente que ser capaz de
producir un cuadro de tendencias que muestra el espacio en disco extra de
consumo. Al comparar la cantidad de espacio libre entre dos puntos sobre el
grfico que ser capaz de determinar el espacio de disco consumido entre esos
intervalos.
El monitoreo del espacio disponible en disco y las tasas de crecimiento son
un par de cosas que un DBA debe realizar. Sin vigilancia se corre el riesgo de
quedarse sin espacio y causando graves problemas para su aplicacin.
5.3.1.3 Monitoreo de Logs
Log
Registro oficial de eventos durante un periodo de tiempo en particular. Para
los profesionales en seguridad informtica un log es usado para registrar datos
o informacin sobre quin, que, cuando, donde y por qu de un evento que
ocurre para un dispositivo en particular o aplicacin.
La mayora de los logs son almacenados o desplegados en el formato
estndar ASCII. De esta forma logs generados por un dispositivo en particular
puede ser ledo y desplegado en otro diferente.
Propsito de los Logs
Todos los sistemas pueden verse comprometidos por un intruso, de manera
local o remota.
La seguridad no slo radica en la prevencin, sino tambin en la
identificacin. Entre menos tiempo haya pasado desde la identificacin de
intrusin, el dao ser menor; para lograr esto es importante hacer un
constante monitoreo del sistema.
De cualquier forma que se realice una proteccin de Unix debe incluir el
monitoreo y revisin de LOGS de una forma comprensiva, precisa y cuidadosa.
Los logs tienen numerosos propsitos:

Ayudar a resolver problemas de todo tipo

Proveer de avisos tempranos de abusos del sistema.


forensia.

Despus de una cada del sistema, proporcionan datos de

Como evidencia legal

Monitoreo en Bitcoras
Generalmente no deseamos permitir a los usuarios ver los archivos de
bitcoras de un servidor, y especialmente no queremos que sean capaces de
modificarlos o borrarlos. Normalmente la mayora de los archivos de bitcoras
sern posedos por el usuario y grupo root, y no tendrn permisos asignados
para otros, as que en la mayora de los casos el nico usuario capaz de
modificar los archivos de bitcoras ser el usuario root.
Debido a la cantidad de informacin que se genera en la bitcoras, siempre
es bueno adoptar algn sistema automtico de monitoreo, que levante las
alarmas necesarias para cuando algn evento extrao suceda.
El sistema operativo Debian utiliza LogCheck para realizar el anlisis y
monitoreo de bitcoras, RedHat emplea LogWatch, etc.
5.3.1.4 Monitoreo de Memoria Compartida
Pga de Oracle (rea Global de Programa)
Un PGA es una regin de memoria que contiene datos e informacin de
control para un proceso de servidor. Es la memoria no compartida creada por la
base de datos Oracle cuando un proceso de servidor se ha iniciado. El acceso
a la PGA es exclusivo para el proceso del servidor. Hay un PGA para cada
proceso de servidor. Procesos en segundo plano tambin se asignan sus
propios PGA. La memoria total utilizada por todos los PGAs individuales se
conoce como el ejemplo total de memoria PGA, y la recogida de PGAs
individuales se refiere como el ejemplo total de la PGA, o simplemente
instancia de la PGA. Puede utilizar los parmetros de inicializacin de base de
datos para definir el tamao de la instancia de la PGA, no PGA individuales.
El PGA puede ser crtico para el rendimiento, especialmente si la aplicacin
est haciendo un gran nmero de clases. Operaciones de ordenacin se
produce si utiliza ORDER BY y GROUP BY comandos en las sentencias SQL.
SGA de Oracle (Sistema de rea Global)
Es un conjunto de reas de memoria compartida que se dedican a un
Orculo "instancia" (un ejemplo es los programas de bases de datos y la
memoria RAM).

Sirve para facilitar la transferencia de informacin entre usuarios y tambin


almacena la informacin estructural de la BD ms frecuentemente requerida.
En los sistemas de bases de datos desarrollados por la Corporacin Oracle ,
el rea global del sistema (SGA) forma parte de la memoria RAM compartida
por todos los procesos que pertenecen a una sola base de datos Oracle
ejemplo. El SGA contiene toda la informacin necesaria para la operacin de la
instancia.
La SGA se divide en varias partes:
1. Buffers de Base de Datos, Database Buffer Cache
Es el cach que almacena los bloques de datos ledos de los segmentos de
datos de la BD, tales como tablas, ndices y clsteres. Los bloques modificados
se llamas bloques sucios. El tamao de buffer cach se fija por el parmetro
DB_BLOCK_BUFFERS del fichero init.ora.

Plan de ejecucin de la sentencia SQL.

Texto de la sentencia.

Lista de objetos referenciados.

Comprobar si la sentencia se encuentra en el rea compartida.

Comprobar si los objetos referenciados son los mismos.

Comprobar si el usuario tiene acceso a los objetos referenciados.

Como el tamao del buffer suele ser pequeo para almacenar todos los
bloques de datos leidos, su gestin se hace mediante el algoritmo LRU.
2. Buffer Redo Log
Los registros Redo describen los cambios realizados en la BD y son escritos
en los ficheros redo log para que puedan ser utilizados en las operaciones de
recuperacin hacia adelante, roll-forward, durante las recuperaciones de la BD.
Pero antes de ser escritos en los ficheros redo log son escritos en un cach de
la SGA llamado redo log buffer. El servidor escribe peridicamente los registros
redo log en los ficheros redo log.
El tamao del buffer redo log se fija por el parmetro LOG_BUFFER.
3. rea de SQL Compartido, Shared SQL Pool

En esta zona se encuentran las sentencias SQL que han sido analizadas. El
anlisis sintctico de las sentencias SQL lleva su tiempo y Oracle mantiene las
estructuras asociadas a cada sentencia SQL analizada durante el tiempo que
pueda para ver si puede reutilizarlas. Antes de analizar una sentencia SQL,
Oracle mira a ver si encuentra otra sentencia exactamente igual en la zona de
SQL compartido. Si es as, no la analiza y pasa directamente a ejecutar la que
mantiene en memoria. De esta manera se premia la uniformidad en la
programacin de las aplicaciones. La igualdad se entiende que es lexicogrfica,
espacios en blanco y variables incluidas. El contenido de la zona de SQL
compartido es:
Los pasos de procesamiento de cada peticin de anlisis de una sentencia
SQL son:
Si no, la sentencia es nueva, se analiza y los datos de anlisis se almacenan
en la zona de SQL compartida.
Tambin se almacena en la zona de SQL compartido el cach del
diccionario. La informacin sobre los objetos de la BD se encuentra
almacenada en las tablas del diccionario. Cuando esta informacin se necesita,
se leen las tablas del diccionario y su informacin se guarda en el cach del
diccionario de la SGA.
Este cach tambin se administra mediante el algoritmo LRU. El tamao del
cach est gestionado internamente por el servidor, pero es parte del shared
pool, cuyo tamao viene determinado por el parmetro SHARED_POOL_SIZE.
5.3.1.5 Monitoreo de Base de Datos
Es el proceso que permite medir, asegurar, demostrar, monitorear y registrar
los accesos a la informacin almacenada en las bases de datos incluyendo la
capacidad de determinar:

Quin accede a los datos

Cundo se accedi a los datos

Desde qu tipo de dispositivo/aplicacin

Desde que ubicacin en la Red

Cul fue la sentencia SQL ejecutada

Cul fue el efecto del acceso a la base de datos

Es uno de los procesos fundamentales para apoyar la responsabilidad


delegada a IT por la organizacin frente a las regulaciones y su entorno de
negocios o actividad.
Objetivos Generales de la Auditora de Base de Datos
Disponer de mecanismos que permitan tener trazas de auditora completas y
automticas relacionadas con el acceso a las bases de datos incluyendo la
capacidad de generar alertas con el objetivo de:
Mitigar los riesgos asociados con el manejo inadecuado de los
datos

Apoyar el cumplimiento regulatorio

Satisfacer los requerimientos de los auditores

Evitar acciones criminales

Evitar multas por incumplimiento

La importancia de la auditora del entorno de bases de datos radica en que


es el punto de partida para poder realizar la auditora de las aplicaciones que
utiliza esta tecnologa.
Importancia de la Auditora de Base de Datos
Toda la informacin financiera de la organizacin reside en bases
de datos y deben existir controles relacionados con el acceso a las
mismas
Se debe poder demostrar la integridad de la informacin
almacenada en las bases de datos
Las organizaciones deben mitigar los riesgos asociados a la
prdida de datos y a la fuga de informacin
La informacin confidencial de los clientes, son responsabilidad
de las organizaciones
Los datos convertidos en informacin a travs de bases de datos
y procesos de negocios representan el negocio
Las organizaciones deben tomar medidas mucho ms all de
asegurar sus datos

Deben monitorearse perfectamente a fin de conocer quin o qu les hizo


exactamente qu, cundo y cmo.
Datos a Evaluar por Medio de la Auditora de la Base de Datos:

Definicin de estructuras fsicas y lgicas de las bases de datos

Control de carga y mantenimiento de las bases de datos

Integridad de los datos y proteccin de accesos

Estndares para anlisis y programacin en el uso de bases de


datos

Procedimientos de respaldo y de recuperacin de datos

Aspectos Claves
No se debe Comprometer el Desempeo de las Bases de
Datos
o Soportar diferentes esquemas de auditora.
o Se debe tomar en cuenta el tamao de las bases de datos a
auditar y los posibles SLA establecidos.

Segregacin de Funciones
o El sistema de auditora de base de datos no puede ser
administrado por los DBA del rea de IT.

Proveer Valor a la Operacin del Negocio


o Informacin para auditora y seguridad.
o Informacin para apoyar la toma de decisiones de la
organizacin.
o Informacin para mejorar el desempeo de la organizacin.

Auditora Completa y Extensiva


o Cubrir gran cantidad de manejadores de bases de datos.
o Estandarizar los reportes y reglas de auditora.
5.3.1.6 Monitoreo de Modos de Operacin

Las operaciones forman parte de las actividades diarias relacionadas con el


hardware y software utilizado en las organizaciones. Esta funcin es
particularmente importante cuando se ejecutan tares de cmputos
centralizados y destacan las siguientes:
1. Administracin de Recursos: La administracin es responsable de
asegurar que los recursos necesarios estn disponibles para realizar las
actividades.
2. Normas y Procedimientos: La administracin es responsable por
establecer las normas y los procedimientos necesarios para todas las
operaciones en conformidad con las estrategias y polticas generales del
negocio.
3. Monitoreo de los Procesos de Operacin: La administracin es
responsable de monitorear y medir la efectividad y eficiencia de los
procesos de operacin. La administracin es responsable de monitorear
y medir la efectividad y eficiencia de los procesos de operacin, de modo
que los procesos sean mejorados a travs del tiempo.
4. Operaciones de Plataforma de Hardware
5. Soporte Tcnico
6. Cronogramas de Ejecucin de Trabajos
7. Control de Entrada/Salida de Datos
8. Aseguramiento de Calidad
9. Control de Cambios
10. Administracin de la Configuracin
11. Funcin de Bibliotecario
12. Procedimientos de Administracin de Problemas
13. Procedimientos para Monitorear el Uso Eficaz y Eficiente de los
Recursos
14. Administracin de la Seguridad Fsica y del Ambiente
15. Administracin de la Seguridad de Informacin
5.3.1.7 Monitoreo de Espacios Espejeados

La administracin 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 creacin 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 vas de reflejo

Alta de 3 vas de reflejo

Externa a no utilizar la creacin de reflejos ASM


5.3.2 Auditora

Es el proceso que permite medir, asegurar, demostrar, monitorear y registrar


los accesos a la informacin almacenada en las bases de datos incluyendo la
capacidad de determinar:

Quin accede a los datos

Cundo se accedi a los datos

Desde qu tipo de dispositivo/aplicacin

Desde que ubicacin en la Red

Cul fue la sentencia SQL ejecutada

Cul fue el efecto del acceso a la base de datos

La auditora se ha convertido en una herramienta importante en los ltimos


10 aos, para el anlisis de las violaciones de datos.
La auditora 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 auditora para realizar las siguientes actividades:
Activar la Rendicin de Cuentas de las Acciones: Estas
incluyen acciones tomadas de un determinado esquema, tabla o fila, o
que afecten a un contenido especfico.
Disuadir a los usuarios (o los otros, como intrusos) de acciones
inapropiadas basadas en la rendicin de cuentas.

Investigar actividades sospechosas.


5.3.2.1 Habilitacin y Deshabilitar el Modo de Auditora

La activacin de la auditora en Oracle Database viene definida por el valor


del parmetro: audit_trail. Para comprobar si la auditora 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 parmetro AUDIT_TRAIL:
Para activar la auditora:
ALTER SYSTEM SET audit_trail = "DB" SCOPE=SPFILE;
Para desactivar la auditora ejecutaremos el siguiente comando:
ALTER SYSTEM SET audit_trail = "NONE" SCOPE=SPFILE;
DBA_AUDIT_TRAIL: Muestra la auditora estndar (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 auditoras
para auditar objetos de la base de datos.
DBA_AUDIT_EXISTS: Es una lista de entradas de auditora
generadas por la opcin EXISTS en el comando AUDIT.
DBA_AUDIT_SESSION: Muestra las entradas de
generadas por conexiones o desconexiones de sesiones.

auditora

DBA_AUDIT_STATEMENT: Es una lista de entradas de auditoras,


con la informacin recolectada de las opciones de sentencias en el
comando audit.
Las principales vistas para obtener resultados de la auditora, son las
siguientes:
Funcionamiento del Comando AUDIT

Permite iniciar los tipos de auditora que a continuacin se detallan. Este


comando puede funcionar aunque no est activada la auditora de la base de
datos, pero no dejara constancia, para que funcione correctamente es
necesario que la auditora 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 auditora que se haba activado
previamente con la instruccin AUDIT.
Sintaxis:
NOAUDIT
{sql_statement_clause | schema_object_clause | NETWORK}
[WHENEVER [NOT] SUCCESFUL];
5.3.2.2 Consultas de las Tablas Vistas con Informacin de la Auditora
El diccionario de la BD contiene una tabla llamada SYS.AUD$ que puede
contener informacin sobre las operaciones realizadas por los usuarios.
Para ms fcil 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 informacin recogida. Esas vistas se borran con el script
CATNOAUD.SQL
Dependiendo de los objetos auditados se recoge distinto tipo de informacin.
En cualquier caso, siempre se recoge sobre el usuario, sesin, terminal, objeto
accedido, operacin realizada y finalizacin de la operacin.
5.4 Herramientas de Software y Hardware para Monitoreo y
Administracin Automtica
Monitorizar es una tarea imprescindible del administrador. Obviamente no
podemos monitorizar en todo momento y debemos hacerlo con cierta

regularidad y de la manera ms automatizada posible. Existen multitud de


programas que permiten monitorizar, no solo nuestro servidor de base de
datos, si no mltiples 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 comunicacin, servidores etc.

Control de Activos Tangibles y no Tangibles.

Capacidad de cruzar informacin automtica recolectada con la


informacin insertada en forma manual.
Creacin y personalizacin en forma ilimitada por consultas
Editables que nos permitir adaptar necesidades reales que
requiera la CMDB.
4. Bitcora de Uso de software por Da y Mes de los aplicativos
brindado los minutos y horas de su utilizacin por PC.
La investigacin nos llev a adquirir o reforzar un poco ms los
conocimientos de los temas que fueron de gran utilidad. Ahora nos queda claro
el porqu de la importancia de la seguridad de la base de datos, ya que en la
base de datos acceden varios usuarios y hacen diferentes operaciones en ella
por eso se necesita de ayuda del monitoreo general de la base de datos para
corregir las fallas.
No olvidando tambin que la auditora es de gran apoyo ya que es el
proceso que permite asegurar, monitorear y hacer registros de los accesos a la
informacin almacenada en la base de datos.

Das könnte Ihnen auch gefallen