Você está na página 1de 28

Instituto Tecnolgico De Villahermosa

Ing. Sistemas Computacionales


Materia:
Administracin de base datos

Proyecto:
Seguridad
Profesora:

Lic. Loyda Snchez Marn


Alumnos:
Agustn Morales Salvador

Villahermosa Tab. Diciembre De 2014

ndice
5.1 Respaldo y Recuperacin............................................................................................................ 3
Qu Respaldar y Cundo.......................................................................................................... 3
5.1.1 Espejeo (Mirroring) ................................................................................................................. 4
5.1.1.1 Beneficios del Espejeo de Datos en un DBMS .................................................................... 4
5.1.1.2 Activacin de Espejeo en un DBMS ................................................................................... 5
5.1.1.3 Creacin de Espacios de Disco con Espejo.......................................................................... 5
5.1.2. Rplica (Replication) ............................................................................................................... 7
5.1.2.1 Beneficios de la Rplica de Datos en un DBMS .................................................................. 8
5.1.3 Mtodos de Respaldo de un DBMS ........................................................................................ 9
5.1.3.1 Elementos y Frecuencia de Respaldo................................................................................... 9
5.1.3.2 Comandos para Respaldo de Datos ................................................................................... 10
5.1.3.3 Mtodos de Recuperacin de un DBMS ............................................................................ 12
5.1.4. Comandos para Recuperacin ............................................................................................. 16
5.1.4.1 Ventajas y Desventajas de cada Mtodo ........................................................................... 16
5.1.4.2 Aplicacin de cada Mtodo................................................................................................. 17
5.2 Migracin de la Base de Datos ................................................................................................. 17
5.3 Monitoreo y Auditora de la Base de Datos ............................................................................ 19
5.3.1 Monitoreo ................................................................................................................................ 19
5.3.1.1 Monitoreo General de un Sistema Manejador de Base de Datos .................................... 20
5.3.1.3 Monitoreo de Logs............................................................................................................... 22
5.3.1.4 Monitoreo de Memoria Compartida ................................................................................. 22
5.3.1.5 Monitoreo de Base de Datos ............................................................................................... 24
5.3.1.7 Monitoreo de Espacios Espejeados .................................................................................... 25
5.3.2 Auditora ................................................................................................................................. 25
5.3.2.1 Habilitacin y Deshabilitar el Modo de Auditora ........................................................... 26
5.3.2.2 Consultas de las Tablas Vistas con Informacin de la Auditora ................................... 26
5.4 Herramientas de Software y Hardware para Monitoreo y Administracin Automtica ... 27

pg. 2

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

pg. 3

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.

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.

pg. 4

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

pg. 5

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
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,

pg. 6

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.

pg. 7

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 contine 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.

pg. 8

5.1.3 Mtodos de Respaldo de un DBMS


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
.
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 cdigo abierto.
Entre sus caractersticas principales estn 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

pg. 9

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

pg. 10

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
ON
*.*
TO
'<replication_user>'@'<slave_address>'
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 de datos, duplicaramos este parmetro para cada base
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

pg. 11

9.
esclavo.

Realizamos una copia de seguridad de la base de datos del maestro sobre el servidor

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 --u root password = <contrasea> --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 = <contrasea> bd_autentia <
backup.sql
Para Restaurar la Copia de Seguridad en el Esclavo
[Esclavo]: <MYSQL_HOME>/bin/mysqladmin -u root password = <contrasea> shutdown
Detenemos el Servidor Esclavo
[Maestro]: <MYSQL_HOME>/bin/mysqladmin -u root password = <contrasea> shutdown
Detenemos el servidor maestro (Se desbloquearn 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 Configuracin:
[Maestro]: <MYSQL_HOME>/bin/mysqld-nt --defaults-file="<MYSQL_HOME>\my.ini" MySQL

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

pg. 12

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 a committed), simplemente hay que ignorar las
anotaciones en el diario.

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.

pg. 13

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.
El esquema de recuperacin utiliza dos procedimientos de recuperacin:
(Ti): Restaura los datos que Ti actualiza a los valores que tenan antes.
(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.

pg. 14


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.
Se deben realizar copias de seguridad de la BD peridicamente:
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;

pg. 15

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

El costo de actualizacin del hardware y software son muy elevados.

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

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.

pg. 16

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.

pg. 17

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.

Genera estructuras de tablas acorde con los tipos de datos objetivos

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

Soporta la construccin de ndices post-copia y foreign keys


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

pg. 18

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

pg. 19

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.

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

pg. 20

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

pg. 21

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.
Despus de una cada del sistema, proporcionan datos de forensia.
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

pg. 22

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:

pg. 23

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.
pg. 24

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
Soportar diferentes esquemas de auditora.
Se debe tomar en cuenta el tamao de las bases de datos a auditar y
los posibles SLA establecidos.

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.

pg. 25

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 auditora generadas por conexiones o


desconexiones de sesiones.

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

pg. 26

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

pg. 27

Bibliografa

https://sites.google.com/site/itjabd23/home/asignatura/plan-deestudios/unidad-5-seguridad
http://www.postgresql.org/docs/8.2/static/libpq-async.html
http://www.estructurayprogramacion.com/materias/administrac
ion-de-base-de-datos/

pg. 28

Você também pode gostar