Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las operaciones de backup y restore son actividade crtica y de orden crucial para
cualquier organizacin, pues por motivos varios una base de datos puede llegar a
fallar, los sistemas operativos, el hardware, crackers y hasta los mismos
empleados pueden daar la informacin. Es por eso que es importante definir
polticas de backup en una organizacin o por lomenos calendarizar la realizacin
de copias de seguridad para estar preparado ante cualquier eventualidad.
Dependiendo del gestor que se utilice y el tamao de la base de datos, este puede
ser una tarea fcil o relativamente compleja.
Base de Datos Espejo (Database Mirroring) es una configuracin donde dos o tres
servidores de base de datos, ejecutndose en equipos independientes, cooperan
para mantener copias de la base de datos y archivo de registro de transacciones
(log).
Lo primero que tenemos que hacer es hacer un reflejo de nuestra base de datos
en otra instancia. En nuestro ejemplo esta base de datos se denomina prueba.
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:
MySQL
Lo primero que debemos hacer es checar si ambos servidores se encuentran en
red
Caso Windows
Caso Linux
Software
#bind-address = 127.0.0.1
log-bin =mysql-bin.log
binlog-do-db=dolar
server-id=1
FLUSH PRIVILEGES;
USE dolar;
mysql -u root -p
UNLOCK TABLES;
quit;
mysql -u root -p
quit;
Ejecutar desde la consola o a terminal el siguiente comando para copiar la base
de datos del archivo que generamos:
Localizar el archivo My.cnf (en caso de windows My.ini) y despus del [mysqld]
agregamos lo siguiente:
server-id=2
replicate-do-db=nombre_base_de_datos
En nuesto caso
server-id=2
replicate-do-db=dolar
mysql -u root -p
master_password='bingo', master_log_file='barbanegra-bin.000004',
master_log_pos=1057;
Nota: Si olvido las directivas de control. Desde la consola del maestro use la
sentencia SHOW MASTER STATUS;
Ahora iniciamos el esclavo y comprobamos su estado
Discos espejo
Espejeado de disco significa que se conectan dos unidades de disco al mismo
controlador de disco. Las dos unidades se mantienen idnticas cuando el servidor
escribe en una unidad (la primaria), posteriormente se escribe en (la secundaria).
Si durante la operacin falla, la unidad primaria, en su lugar se utiliza la
secundaria. Si la secundaria falla, no importa. En ambos casos los usuarios
experimentan una breve pausa mientras el servidor se asegura que la unidad est
muerta, y luego se regresa al servicio normal.
Como sucede con todas las cosas buenas, hay una desventaja. Para contar con
este nivel de confiabilidad, se necesita un segundo disco duro, lo que duplica el
costo del almacenamiento de datos. Pero en lo que concierne a su organizacin,
tal vez valga la pena el costo relativamente pequeo de una unidad de disco, para
evitar lo que de otra manera seria un desastre. Una de las desventajas de los
discos espejos es la perdida de rendimiento. Dado que un controlador maneja dos
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 de los datos mediante la redundancia total de los mismos.
Es necesario saber qu bloques estn libres. Las opciones son parecidas a las
que se pueden usar para administrar espacio en memoria. Mapa de bits. Un bit por
bloque. Es eficiente si se puede mantener el mapa entero en memoria. Disco de 1
GB, con bloques de 512 KB requiere un mapa de 256 KB. Usado en los MACS.
Lista ligada. En un bloque reservado (fijo) del disco se registran las direcciones de
los bloques desocupados. La ltima direccin apunta no a un bloque libre, sino a
otro bloque con ms direcciones de bloques libres... En MS-DOS se usa la misma
FAT para administrar el espacio libre.
Cachs de disco
Ya que el disco es tan lento comparado con la memoria (unas 10000 veces)
resulta rentable usar un cach para mantener en memoria fsica parte de la
informacin que hay en el disco, de manera que, si en el futuro se requiere un
bloque que ya est en memoria, se ahorra el acceso al disco.
Igual que en el caso de memoria virtual, hay que tratar de adivinar qu bloques se
van a acceder en el futuro cercano, para mantener esos bloques en el cach. Pero
al contrario de lo que ocurre con memoria virtual, no se requiere ningn apoyo
especial del hardware para implementar LRU. Ya que todos los accesos a disco
pasan por las manos del sistema operativo. Paradjicamente, LRU no es
necesariamente la mejor alternativa tratndose de bloques de disco. Qu pasa,
por ejemplo, en el caso del acceso secuencial a un archivo? Por otra parte,
algunos de los bloques contienen informacin crtica respecto del sistema de
archivos (por ejemplo, un bloque que contiene informacin del directorio raz o de
un i-node o de los bloques libres). Si este bloque es modificado y puesto al final de
la cola LRU, puede pasar un buen tiempo antes de que llegue a ser el menos
recientemente usado, y sea escrito en el disco para ser reemplazado. Si el sistema
se cae antes que eso, esa informacin crtica se perder, y el sistema de archivos
quedar en un estado inconsistente. Se puede modificar un poco LRU,
considerando dos factores:
Planificacin de disco
Un disco, mirado desde ms bajo nivel, no es simplemente una secuencia de
bloques. Estn compuestos de platos, cada uno de los cuales contiene una serie
de pistas o tracks concntricos. A su vez, las pistas se dividen en sectores. Las
pistas exteriores, que son ms grandes, pueden contener ms sectores que las
interiores. (En un CD, en realidad hay una espiral de sectores.) Existe un brazo
mecnico con un cabezal lector/escritor para cada plato. El brazo mueve todos los
cabezales juntos. Un cilindro se conforma por las pistas que los cabezales pueden
leer cuando el brazo est en una posicin determinada. Los bloques lgicos
(secuenciales) que ve el sistema de archivos deben traducirse a un tro (cilindro,
plato, sector). El tiempo requerido para leer un sector depende de:
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.
Bloques daados
Los discos, en cuanto dispositivo mecnico, son propensos a fallas. A veces la
falla es transitoria: el controlador no puede leer un sector debido a que se
interpuso una partcula de polvo entre el cabezal y la superficie del disco. El
controlador siempre reintenta varias veces una operacin que fracasa por si la
falla es transitoria; muchas veces se resuelve, sin que el driver siquiera se entere.
En los casos en que el sector est permanentemente daado, el error se informa
al driver, y el driver informa al sistema de archivos, quien registra el bloque como
daado, para no volver a usarlo. Cmo se pueden registrar los bloques daados?
Igual hay bloques crticos: en todo sistema de archivo, debe haber al menos un
bloque en una direccin fija. Si ese bloque se daa, el disco entero se hace
inusable. Algunos controladores inteligentes reservan de antemano algunas pistas,
que no son visibles para el driver. Cuando se daa un sector, el propio controlador
lo reemplaza por uno de los reservados. (en forma transparente, si la operacin
era de escritura, pero no tan transparente si era de lectura). Muchos discos vienen
con sectores daados ya marcados desde la fbrica. Pero dnde se guarda la
informacin de los bloques malos? As, si el bloque 5 se daa, entonces el
controlador usa, digamos, el 999 cada vez que el driver le solicita el 5. Pero que
pasara entonces con los algoritmos de scheduling de disco? Un esquema que a
veces se usa para no perjudicarlos, es que el controlador reserva bloques
esparcidos en el disco, y cuando se daa un sector, trata de sustituirlo por uno de
los de reserva que se encuentre en el mismo cilindro, o por lo menos cerca.
Arreglos de discos
Se puede decir que los discos son la componente menos confiable de un
computador, la componente ms complicada de sustituir, y la que frena el
mejoramiento de la velocidad de procesamiento con los avances tecnolgicos. En
efecto, la velocidad de los procesadores se duplica ms o menos cada 2 aos, y la
capacidad de los chips de memoria crece a un ritmo parecido. No obstante, el
ancho de banda (velocidad de transferencia) del I/O ha variado muy poco. A este
ritmo, en 7 aos ms los procesadores van a ser 10 veces ms rpidos, pero en
general las aplicaciones corrern menos de 5 veces ms rpido, por las
limitaciones de I/O. Una solucin posible: en lugar de uno solo disco grande, usar
muchos discos chicos y baratos, en paralelo, para mejorar el ancho de banda.
Para garantizar paralelismo, se hace disk striping o divisin en franjas. Cada
bloque lgico se compone de varios sectores fsicos, cada uno en un disco
distinto. As, cada acceso a un bloque lgico se divide en accesos simultneos a
los discos. En 1991 la situacin era la siguiente: _ IBM 3380: 7500 MB, 18 U$/MB,
30000 horas de MTTF (mean time to failure) _ Conner CP3100: 100 MB, 10
U$/MB, 30000 horas de MTTF El IBM 3380 tiene bastante ms ancho de banda
que un CP3100, pero si juntamos 75 de estos ltimos tenemos la misma
capacidad total, con menor costo, menor consumo de electricidad, y
potencialmente 12 veces ms ancho de banda. El gran problema es la
confiabilidad: si antes tenamos 30000 horas de funcionamiento sin fallas, ahora
tendramos 400 (30000/75) horas, o sea, slo dos semanas. O sea, la tolerancia a
fallas es crucial, y para obtenerla se usa redundancia, en una configuracin
conocida como RAID (Redundant Array of Inexpensive Disks), y que se puede
implementar en varios niveles.
La ganancia en ancho de banda es menor que la terica, entre otras cosas porque
la tolerancia a fallas impone un overhead Ver figura 44. Por otra parte, con un
RAID de 100 discos para datos y otros 10 para paridad, el MTDL (mean time to
data loss) es de 90 aos, comparado con 3 aos de los discos estndares.
5.1.2 Replica (replication)
En entornos en los que la carga de usuarios sea muy grande para un slo
gestor, se pueden replicar las bases de datos en varios servidores asignando a
cada usuario un servidor. Balanceando de esta manera la carga podremos
aliviar a los gestores.
Modelo de Replicacin
Suscripcin: es una peticin para que una copia de la publicacin sea enviada
al suscriptor. La suscripcin define qur publicacin ser recibida, cuando y
donde. Hay dos tipos de suscripcin: de insercin y de extraccin
Una vez aclarados los conceptos, vemos un diagrama del flujo simplificado de los
datos y de los elementos que intervienen en una replicacin:
5.1.3 Mtodos de respaldo de un DBMS
Para hacer un respaldo de una base de datos MySQL desde nuestro consola o
mediante comandos shell podemos usar el comando mysqldump como lo
ejemplificamos en la siguiente liga.
NOTA: Al igual que en el ejemplo anterior las comillas deben omitirse tanto en el
usuario como en la contrasea.
principales:
Anlisis:
Recuperacin en Oracle
Cada vez que se ejecuta una tarea de copia de seguridad, CA ARCserve Backup
registra la informacin en la base de datos sobre los equipos, directorios y
archivos de los que se ha realizado copia de seguridad y los medios utilizados.
Esto permite localizar archivos para cuando sea necesario restaurarlos. El
comando de recuperacin de base de datos (ca_recoverdb) es una opcin de
proteccin propia que permite recuperar una base de datos de CA ARCserve
Backup si se ha perdido y se ha realizado copia de seguridad mediante el dominio
de CA ARCserve Backup que est utilizando la base de datos.
Solucin 1:
Este artculo describe varias soluciones para recuperar datos de una base de
datos de Microsoft SQL Server, si se produce un desastre. En este artculo
tambin se describe las ventajas y las desventajas de cada solucin.
Contienen:
Nombre de la BD
Log histrico
HERRAMIENTAS DE MIGRACIN
5.3.1 Monitoreo
Uno de los principales indicadores que se tiene que tomar en cuenta como DBA es el
espacio disponible en disco. No es problema cuando se tiene un server o 2 para
monitorear, sin embargo cuando hay una cantidad considerable automatizar un
proceso que lo haga es lo mejor. Dentro de SQL Server (7,2000,2005) hay un
procedimiento no documentado que nos puede ayudar a cumplir este cometido.
Dejo a consideracin de cada quien como utilizarlo, ya sea mandando un mail con el
resultado u opciones ms complejas como el revisar un porcentaje y en base a eso
tomar una accin.
BACKGROUND_DUMP_DEST = E:\U01\ORACLE\UCBL\ADMIN\bdump.
E:\U01\ORACLE\UCBL\ADMIN\udump.
Texto de la sentencia.
Como el tamao del buffer suele ser pequeo para almacenar todos los
bloques de datos leidos, su gestin se hace mediante el algoritmo LRU.
En esta zona se encuentran las sentencias SQL que han sido analizadas. El
analisis 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 mantinene en memoria. De esta manera se
premia la uniformidad en la programacin de las aplicaciones. La igualdad
se entiende que es lexicografica, espacios en blanco y variables incluidas.
El contenido de la zona de SQL compartido es:
Aspectos Claves
Segregacin de funciones
show status;
5.3.2 Auditora