5.1 Respaldo y RecuperacinEl 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 CundoExisten 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 RespaldarEn
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.RecuperacinRespaldar 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 DBMSLa 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 EspejoDiscos
EspejoEspejeado 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 unaunidad (la primaria),
posteriormente se escribe en (la secundaria). Si durante laoperacin
falla, la unidad primaria, en su lugar se utiliza la secundaria.
Sila 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 servicionormal.Como sucede
con todas las cosas buenas, hay una desventaja. Para contar con
este nivel de confiabilidad, se necesita un segundo disco duro, lo
queduplica el costo del almacenamiento de datos. Pero en lo que
concierne a su organizacin, tal vez valga la pena elcosto
relativamente pequeo de una unidad dedisco, para evitar lo que de
otra manera seriaun desastre. Una de las desventajas de los discos
espejos es la perdida derendimiento. Dado que uncontrolador
manejados unidades primarias para escribir los datos en la
unidadsecundaria. Esto provoca que las escrituras en disco se
tarden el doble. En unservidor con carga ligera esto quizs no sea
tanmalo 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 aser
significativa en un sistema con carga pesada.Otra de las
desventajas del espejeado esque el controlador de disco duro o los
cables de conexin llegan a fallar. Los datos se puedenleer desde la
unidad o matrizduplicada sin que se produzcan interrupciones. Es
una alternativa costosa para los grandes sistemas, ya que las
unidades se deben aadir enpares 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 serealiza una copia
en todo momento de los datos que se estnmodificando. 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
alas que se pueden usar para administrar espacio en memoria. Mapa
de bits. Unbit por bloque. Es eficiente sise 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 unbloque
reservado (fijo) del disco se registran las direcciones de los
bloques desocupados. La ltima direccin apunta no aun 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
DiscoYa que el disco es tan lentocomparado con la memoria (unas
10000 veces) resulta rentable usar un cach para mantener en memoria
fsica parte de la informacin que hay enel disco, de manera que, si
en el futuro se requiere un bloque que ya est en memoria, seahorra
el acceso al disco.Igual que en el caso de memoria virtual, hay que
tratar de adivinar qubloques se van a acceder en el futuro cercano,
para mantener esos bloquesen 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 sistemaoperativo. Paradjicamente, LRU no es
necesariamente la mejor alternativa tratndosede bloques de disco.
Por otra parte, algunos delos bloques contienen informacin crtica
respecto del sistema de archivos. Si este bloque es modificado y
puestoal final de la cola LRU, puede pasarun buen tiempo antes de
que llegue a ser el menosrecientemente usado, y sea escrito enel
disco para ser reemplazado. Si el sistema se cae antes queeso, esa
informacin crtica se perder, y el sistemade archivos quedar en un
estado inconsistente.Planificacin de DiscoUn disco, mirado desde ms
bajo nivel, no essimplemente una secuencia de bloques.Estn
compuestos de platos, cada uno de los cuales contiene unaserie de
pistas o tracks concntricos. A su vez, las pistas se dividen en
sectores. Las pistas exteriores, que sonms grandes, pueden contener
ms sectores que las interiores. (En un CD, en realidad hay
unaespiral 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
puedenleer cuando el brazo est en una posicin determinada.
Losbloques 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 requeridopara mover el brazo al
cilindro apropiado.2.El retardo rotacional, o sea, el tiempo que
hayque 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 maneraque 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 debenconsiderarse contiguos. Pero hay otra cosa que se
puede hacer, considerando que en unsistema 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 DiscoFIFOEs 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, esposible que slo se atiendan las cercanas
al centro. Puede haber inanicin para los procesos que solicitan
cilindros delos extremos.Algoritmo del AscensorPara evitar
inanicin, se mantiene la direccin demovimiento del brazo hasta que
no queden solicitudes pendientes en esa direccin. Es lo mismoque
hacen los ascensores.Un pequeoproblema es que las solicitudes enlos
extremos tienen, en promedio, un tiempo deespera mayor.Discos
RAMGracias a la estructuracin en capas, podemos usar el mismo
sistema dearchivos en cualquier dispositivo de bloques con un
driver adecuado, que implemente la interfaz para el software
independiente del dispositivo. Por ejemplo, enlos primeros
computadores personales, que tenan slo una disquetera como medio de
almacenamiento, era habitual crear undisco 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 SeguridadEn 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 EscalabilidadPodramos 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 DisponibilidadEn 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 BinarioEl 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 Replicacin1.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 DBMSLa 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 DBMSEn
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 RespaldoNormalmente 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 electrnicoDirectorios
telefnicos y de contactosFavoritos de los navegadores como Firefox
e Internet ExplorerBase de datosConfiguraciones de los
equiposArchivos de CAD, PSD, XCF, etc.Imgenes y Fotografas de
proyectosConfiguraciones de serviciosClasificacin de
RespaldosCopias 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
InformacinHay dos puntos importantes en cuanto a la actualizacin de
la informacin:Que tan frecuentemente se actualiza la informacinSi
queremos guardar un histrico de la informacin o noNo 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 DatosA 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 ''@'' IDENTIFIED BY ''GRANT
REPLICATION SLAVE ON *.* TO ''@''4.Con la sentencia anterior el
usuario slo tendra permiso de acceso desde la mquina , en caso de
no requerir esta medida de seguridad puedes sustituir el comodn %
por el parmetro .Configuracin del Servidor Maestro1.Deberemos
agregar las siguientes lneas al final del archivo de configuracin
del servidor MySQL, por defecto: /my.ini2.Identificador nico del
servidor MySQL dentro de todos los servidores implicados en la
replicacin.Server id = 13.Al especificar el parmetro log-bin
estamos activando el log binario.4.No especificamos un valor para
el parmetro de configuracin (por defecto ser - 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_autentiaConfiguracin del Servidor Esclavo 1.Deberemos
agregar las siguientes lneas al final del archivo de configuracin
del servidor MySQL, por defecto: /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: - relay -
bin.indexRelay log = 4.Nombre o direccin IP del maestro.Master host
= 5.El esclavo se conecta a travs de un usuario al maestro.
Identificador del usuario.Master user = 6.El esclavo se conecta a
travs de un usuario al maestro. Contrasea del usuario.Master
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
reconexinMaster 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]:/bin/mysql -u root password = -e "FLUSH TABLES
WITH READ LOCK"Para limpiar las caches y bloquear el acceso de
cualquier aplicacin a la base de datos.[Maestro]:/bin/mysqldump --u
root password = --opt bd_autentia > backup.sqlRealizamos una
copia completa de la base de datos en el archivo
backup.sql.[Esclavo]:/bin/mysql --user=root password = bd_autentia
< backup.sqlPara Restaurar la Copia de Seguridad en el
Esclavo[Esclavo]:/bin/mysqladmin -u root password =
shutdownDetenemos el Servidor Esclavo[Maestro]:/bin/mysqladmin -u
root password = shutdownDetenemos el servidor maestro (Se
desbloquearn las tablas de las bases de datos previamente
bloqueadas)[Esclavo]:/bin/mysqld-nt defaults file="\my.ini"
MySQLIniciamos el Servidor, el cual Tomar la Nueva
Configuracin:[Maestro]:/bin/mysqld-nt --defaults-file="\my.ini"
MySQL5.1.3.3 Mtodos de Recuperacin de un DBMSRecuperarse 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 AlmacenamientoAlmacenamiento
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
DiscoEl 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 ForzarEn 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 DifusosOtro
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 RecuperacinSe
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. 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
MonousuarioEl 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 InmediatasPermite 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: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
Validacin1.Examina el diario hacia atrs hasta localizar un registro
.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 , partiendo del final del fichero.4.Ejecuta redo
(Ti) para las transacciones que tengan su registro , partiendo
desde el punto de verificacin hasta el final del
diario.Procedimientos de RecuperacinRecuperacin NormalTiene 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 CalienteDespus 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 FroDespus 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 ARIESa)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 DatosSiempre 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
datosmysqldump -uroot -p all add-locks -e mibase >
bkmibase.sql;#Respaldar todas mis bases de datosmysqldump -uroot -p
all all-databases add-locks -e > bkmisbases.sql;#Nos conectamos
a mysqlmysql -uroot -pUSE 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 FallasSe 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 RecuperacinHacer una Copia de
SeguridadEl 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
FicheroSe utiliza el mtodo habitual para ejecutar sentencias SQL
desde un fichero.Para el ejemplo sera:# mysql -u admin -p drupal
< drupal_backup.sql5.1.4.1 Ventajas y Desventajas de cada
MtodoVentajasFacilidad 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.DesventajasEl 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.5.1.4.2 Aplicacin de cada MtodoCopia
SimplePuede ser aplicado en situaciones en las que no requiera de
varias instancias o datos duplicados, como una Red de Oficina.Copia
DobleCuando 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 GeneracionalCuando este
contenga mayores instancias y requiera de un gran rendimiento de
los datos, como los Bancos.5.2 Migracin de la Base de DatosLa
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 MigracinEn
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 datosGramtica SQL XMLGramtica DDL XMLGramtica
DML XMLGramtica SPL XMLGramtica Triggers XMLSoporte para la
conversin de tipos de datos geomtricosCopia Multi-Base de DatosLa
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 objetivoDesactiva automticamente triggers y secuencias
durante el proceso de copiaInstala automticamente la secuencia
asociada despus de copiar una tablaSoporta la generacin de bases de
datos cruzadas rowidSoporta la conversin de tipos de datos
geomtricos permitiendo una fcil migracin de motores
espacialesSoporta la construccin de ndices post-copia y foreign
keysSoporta la compilacin de triggers post-copia y SPLComprobacin
del Esquema Multi-Bases de DatosUna 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 ProduccinLas 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-XsqlEl 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 AvailableDDLEl 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 SampleDMLUna 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).TriggersSi
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
GeomtricosCuando 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 DatosMediante 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
MonitoreoLa 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 DatosVentajas 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 DiscosComo 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_fixeddrivesA 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 intcreate table #FreeSpace(Drive
char(1),MB_Free int)insert into #FreeSpace exec
xp_fixeddrivesselect @MB_Free = MB_Free from #FreeSpace where Drive
= 'C'-- Free Space on C drive Less than Thresholdif @MB_Free <
1024exec master.dbo.xp_sendmail@recipients
='[email protected]',@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
LogsLogRegistro 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 LogsTodos 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 tipoProveer de avisos tempranos de abusos del
sistema.Despus de una cada del sistema, proporcionan datos de
forensia.Como evidencia legalMonitoreo en BitcorasGeneralmente 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 CompartidaPga 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
CacheEs 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 LogLos 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 PoolEn 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 DatosEs 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 datosCundo se accedi a
los datosDesde qu tipo de dispositivo/aplicacinDesde que ubicacin
en la RedCul fue la sentencia SQL ejecutadaCul fue el efecto del
acceso a la base de datosEs 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 DatosDisponer 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 datosApoyar el
cumplimiento regulatorioSatisfacer los requerimientos de los
auditoresEvitar acciones criminalesEvitar multas por
incumplimientoLa 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 DatosToda la informacin financiera de la
organizacin reside en bases de datos y deben existir controles
relacionados con el acceso a las mismasSe debe poder demostrar la
integridad de la informacin almacenada en las bases de datosLas
organizaciones deben mitigar los riesgos asociados a la prdida de
datos y a la fuga de informacinLa informacin confidencial de los
clientes, son responsabilidad de las organizacionesLos datos
convertidos en informacin a travs de bases de datos y procesos de
negocios representan el negocioLas organizaciones deben tomar
medidas mucho ms all de asegurar sus datosDeben 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
datosControl de carga y mantenimiento de las bases de
datosIntegridad de los datos y proteccin de accesosEstndares para
anlisis y programacin en el uso de bases de datosProcedimientos de
respaldo y de recuperacin de datosAspectos ClavesNo se debe
Comprometer el Desempeo de las Bases de DatosoSoportar diferentes
esquemas de auditora.oSe debe tomar en cuenta el tamao de las bases
de datos a auditar y los posibles SLA establecidos.Segregacin de
FuncionesoEl sistema de auditora de base de datos no puede ser
administrado por los DBA del rea de IT.Proveer Valor a la Operacin
del NegociooInformacin para auditora y seguridad.oInformacin para
apoyar la toma de decisiones de la organizacin.oInformacin para
mejorar el desempeo de la organizacin.Auditora Completa y
ExtensivaoCubrir gran cantidad de manejadores de bases de
datos.oEstandarizar los reportes y reglas de auditora.5.3.1.6
Monitoreo de Modos de OperacinLas 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 Hardware5.Soporte
Tcnico6.Cronogramas de Ejecucin de Trabajos7.Control de
Entrada/Salida de Datos8.Aseguramiento de Calidad9.Control de
Cambios10.Administracin de la Configuracin11.Funcin de
Bibliotecario12.Procedimientos de Administracin de
Problemas13.Procedimientos para Monitorear el Uso Eficaz y
Eficiente de los Recursos14.Administracin de la Seguridad Fsica y
del Ambiente 15. Administracin de la Seguridad de Informacin5.3.1.7
Monitoreo de Espacios EspejeadosLa 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 reflejoAlta
de 3 vas de reflejoExterna a no utilizar la creacin de reflejos
ASM5.3.2 AuditoraEs 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 datosCundo se accedi a los datosDesde
qu tipo de dispositivo/aplicacinDesde que ubicacin en la RedCul fue
la sentencia SQL ejecutadaCul fue el efecto del acceso a la base de
datosLa 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 AuditoraLa 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,
valuefrom v$parameterwhere 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 AUDITPermite 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 NOAUDITSe 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 AuditoraEl
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.SQLDependiendo 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 AutomticaMonitorizar 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.