Identificador del artículo : FS-FBS-20080218-I01
Última verificación : 9 de julio de 2016
Versión : 1.2

Copia de seguridad de bases de datos y archivos de correo electrónico

En este artículo trata sobre el problema relacionado con el archivado de archivos muy grandes. Contiene unos consejos muy prácticos para el archivado de bases de datos: Oracle, MySQL, Microsoft SQL, Microsoft Exchange Server, InterBase, Firebird, PostgreSQL, IBM DB2, Microsoft Access, dBase, Paradox y FoxPro; junto a archivos de correos electrónicos: Microsoft Outlook, Outlook Express, Mozilla Thunderbird, Eudora, The Bay!.



¿Archivo grande, problema grande?

Los archivos de bases de datos y programas de correo electrónico, tienen al menos dos cosas en común: son muy grandes y no es sencillo archivarlos. Los archivos grandes se pueden dividir en dos categorías: según el lugar de almacenamiento y según el rango de disponibilidad. Los archivos localizados en el disco duro de la computadora del tipo: escritorio, estación de trabajo o portátil, son archivos locales. Estos, pueden ser bases de datos locales: Microsoft Access, dBase, Paradox, FoxPro, o archivos de programas de correo electrónico: Microsoft Outlook, Outlook Express, Mozilla Thunderbird, Eudora, The Bat!. Los archivos almacenados en servidores suelen ser archivos compartidos, compartidos por el servidor a las computadoras que funcionan en la red. Las más populares son: Oracle, MySQL, Microsoft SQL Server, InterBase, Firebird, PostgreSql, IBM DB2.

Los archivos muy grandes, como otros archivos, pueden estar bloqueados, cuando se utilizan. En caso de archivos de bases de datos y de correo electrónico, este tipo de situaciones es mucho más frecuente. Los servidores de datos hacen que las bases de datos estén disponibles las 24 horas del día, los 7 días de la semana. Los archivos de correo (locales) rara vez se encuentran utilizados sin pausa debido a que suelen ser utilizados solamente un usuario, pero la ventana disponible para realizar la copia de seguridad, está limitada a, aproximadamente, 8 horas al día.

Este tipo de uso y disponibilidad limitada complican la posibilidad de realizar su copia de seguridad. La pausa en el trabajo del servidor de bases de datos durante su archivado, en muchos ámbitos, es muy complicado o incluso imposible. La copia de seguridad de archivos de correo, cuando están disponibles en un tiempo limitado (durante las horas laborales del usuario) y son bloqueados, también puede añadir dificultad, si no empleamos unas herramientas adecuadas.


Copia de seguridad de archivos bloqueados

El problema de las copias de seguridad de bases de datos y archivos de correos electrónico se puede resolver con la herramienta integrada en Ferro Backup System Open File Manager. OFM permite el archivados de archivos abiertos y bloqueados por otros procesos. Lee los archivos directamente desde el disco duro, omitiendo por completo el sistema operativo. Más información sobre las copias de seguridad de archivos abiertos y bloqueados, puede encontrarla en Archivados de archivos abiertos y bloqueados.

A pesar de la posibilidad de apertura y copia (copia de seguridad) de un archivo de bases de datos o de correo electrónico abiertos y bloqueados, sigue existiendo un problema para lograr un estado de coherencia. Los archivos que se encuentran en un estado coherente es consistente desde el punto de vista de un programa que usa ese archivo para almacenar información. En el caso de archivos de bases de datos, este estado se obtiene tras finalizar todas las transacciones de guardado. En caso de que el archivo de bases de datos sea considerablemente grande, la copia de seguridad del archivo puede tardas varias docenas de minutos. En un periodo de tiempo tan grande, en caso del servidor de la base de datos o el correo electrónico, seguramente haya hecho operaciones de guardado. Si se da esta situación, el archivado de la base de datos no será coherente. Cualquier intento de uso de dicho archivo más tarde terminará con un error o advertencia sobre que la estructura del archivo está dañada. Por ello, cuando el programa de copias de seguridad detecte que se realizó una operación de escritura, debe iniciar todo el proceso de copia de seguridad desde el principio. Dependiendo pues, del tipo de aplicación, el uso que se le da y el tamaño de los archivos, un intento de copia de seguridad clásica puede finalizar en fallo o una copia de seguridad del tipo "crash-consistent".

Copia de seguridad rápida y segura en línea

Ferro Backup System en la versión 3.5 o posterior, contiene una ampliación de Open File Manager, la cual, permite la realización de la copia de seguridad de un archivo bloqueado sin la necesidad de parar el proceso de escritura. FBS Worker tiene integrado un controlador del sistema de archivos en versiones x86 y x64, los cuales en caso de necesidad son instalados dinámicamente en el sistema operativo. Este tipo de controlador es el encargado de la lectura del archivo bloqueado y capturar la operación de escritura. Captura la operación de escritura referentes a un archivo de correo o base de datos, lee los datos antiguos del búfer de disco y permite las operaciones de escritura. De esta manera, el programa siempre tiene acceso a una base de datos coherente, sin bloquear ningún programa.

Gracias a esta ampliación OFM, se puede, de forma sencilla y rápida, realizar copias de seguridad de programas de correo como Microsoft Office Outlook, Outlook Express, Mozilla Thunderbird, Eudora, The Bat! y pequeñas bases de datos como Microsoft Access, dBase, Paradox, FoxPro, etc.

Programa de correo / base de datos localAmpliación del archivo
Microsoft Office OutlookPST, OST, PAB, OAB
Microsoft Outlook ExpressDBX, WAB
Mozilla Thunderbirdbrak
EudoraMBX, TOC, FOL
Microsoft AccessMDB, ACCDB, ADP
dBASE / ClipperDBF
ParadoxDB, PX, Xnn, XGn, YGn
FoxPro / Visual FoxProDBF

Tabla 1. Ampliación de los nombres de los archivos de programas de correo y pequeñas bases de datos conocidos


Los archivos de programas de corres son, normalmente, almacenados en la carpeta del usuarios. En sistemas Windows 2000, Windows XP, Windows 2003 será en
C:\Documents and Settings\nombre_usuario\
     Application Data\desarrollador\nombre_programa\


Para sistemas Windows Vista, Windows Server 2008:
C:\Users\nombre_usuario\Application Data\desarrollador\nombre_programa\



Copias en segundo plano

Si utilizamos la base de datos según el Volume Shadow Copy Service (servicio de copia de volúmenes en segundo plano), para realizar copias de seguridad, se puede emplear un script que copia un archivo dado utilizando este servicio. El script se puede realizar antes de la copia de seguridad con la ayuda de una herramienta integrada en Ferro Backup System, llamada Peticiones a distancia. Peticiones a distancia permite, entre otras cosas, realizar ciertos scripts o peticiones, antes o después de la copia de seguridad. El archivado debería incluir una copia del archivo realizado por VSS. Tras el archivado, las copias de la base de datos (también realizadas con las peticiones a distancia) se pueden eliminar del disco.

El servicio VSS permite realizar una copia de un archivo, el cual está en uso, a pesar de las operaciones de escritura que se estén realizando, sin pausar el proceso que escribe.

Sin embargo, se debe tener en cuenta las limitaciones del servicio VSS:
Si el servidor de la base de datos no es compatible con VSS, la copia de la base de datos será una copia del tipo "crash consistent" - no será coherente, por ello aparecerá un error en caso de uso de ella. Más información sobre VSS se encuentra en la web How Volume Shadow Copy Service Works.


Se puede más sencillamente- "Copia de seguridad en caliente" (en línea - segundo método)

Otro método de archivado de bases de datos es el uso de las herramientas de copia de seguridad dedicados especialmente para cada base de datos. La copia de seguridad, que no requiere apagar el servidor de la base de datos, es la llamada copia de seguridad en caliente, copia de seguridad en línea o copia de seguridad dinámica. Lo desarrolladores de los sistemas de bases de datos más conocidos, proporcionan este tipo de herramientas en forma de programas, que se pueden abrir desde la línea de comandos. En caso del archivado con Ferro Backup System, el programa de este tipo, se puede iniciar en el servidor de la base de datos con la ayuda de las, mencionadas anteriormente, peticiones a distancia.

En el caso de todas las bases de datos, el procedimiento será el mismo. Primero, se invoca el comando que copia la base de datos. Seguidamente, se realiza el archivado. Por último, la copia de la base de datos es eliminada.

Las peticiones a distancia, definidas en el programa FBS Server, tendrán esta forma:
BEFOREBACKUP TRUE COMANDO PARÁMETROS
AFTERBACKUP FALSE CMD "/C DELETE ARCHIVO_CON_COPIA_BASE_DE_DATOS"


La siguiente tabla contiene una lista de comandos para la realización de copias para los sistemas de bases de datos más conocidos.

Microsoft SQL Server (MsSql)
ComandosSQLDUMP
SintaxisSQLDUMP Directorio de destino
EjemploSQLDUMP c:\copia
FuenteSQL Dump utility

Oracle
ComandoExp (Export utility)
Sintaxisexp USUARIO/CONTRASEÑA FILE=copia.dmp
Ejemploexp SYSTEM/password FULL=y FILE=copia.dmp GRANTS=y ROWS=y
FuenteOracle9i Database Utilities - Export

IBM DB2
ComandoDB2 BACKUP
SintaxisDB2 BACKUP DATABASE db_name TO device_or_directory
EjemploDB2 BACKUP DATABASE PEDIDOS to c:\copia\
FuenteDB2 9.5 for Linux, UNIX, and Windows - Compatibility of online backup

MySql
Comandomysqldump
Sintaxismysqldump -u [username] -p [password] [databasename] > [backupfile.sql]
Ejemplomysqldump -u sadmin -p pass21 pedidos> c:\copia\pedidos.sql
FuenteA Database Backup Program - mysqldump

PostgreSQL (Postgres)
Comandopg_dump
Sintaxispg_dump [option...] [dbname]
Ejemplopg_dump mydb > copia.out
FuentePostgreSQL 8.1.11 Documentation - pg_dump

InterBase SQL
ComandoGBAK
Sintaxisgbak [options] -user [username] -password [password] [source] [destination]
Ejemplogbak -v -t -user SYSDBA -password "masterkey" dbserver:/db/pedidos.fdb c:\copias\pedidos.fbk
FuenteCodeGear/Borland InterBase Command Line Tools - gbak

Firebird
Comandonbackup
Sintaxisnbackup [-U user -P password] -B 0 database [backupfile]
Ejemplonbackup -B 0 pedidos.fdb c:\copias\pedidos.nbk
FuenteFirebird Documentation - Making and restoring backups - nbackup

Tabla 2. Comandos para realizar copias de seguridad de las bases de datos más populares





Se puede con más confianza - "Copia de seguridad en frío (offline)

Si el servidor de la base de datos no dispone de herramientas dedicadas para la realización de copias de seguridad o, por otros motivos, no se quiere realizar el archivado de una base de datos en funcionamiento, la copia se puede realizar pausando el funcionamiento del servicio del servidor. Las copias de seguridad de este tipo, que necesitan del pausado del servicio del servidor, son las que se suelen llamar Copia de seguridad en frío o copia de seguridad offline.

Tal y como en el caso anterior, la operación puede ser realizada de forma automática mediante las peticiones a distancia. Antes del archivado, se debe introducir el comando que pausa el servicio del servidor, y tras el archivado, el comando que lo reanuda.

Para pausar el servicio del servidor de bases de datos, se puede utilizar el comando NET STOP nombre del servicio. Análogamente, para reanudar el servicio del servidor, se debe introducir el comando NET START nombre del servicio.

La petición a distancia, definida en el programa FBS Server, tendrá la siguiente forma:

BEFOREBACKUP TRUE CMD "/C NET STOP NOMBRE_SERVICIO"
AFTERBACKUP FALSE CMD "/C NET START NOMBRE_SERVICIO"



Bases de datos grandes, copias de seguridad pequeñas

La limitación del acceso a un archivo y las dificultades en obtener un estado de coherencia, no son los únicos problemas que se pueden encontrar al realizar la copia de seguridad de archivos grandes. En caso de los archivos de los programas de correo y bases de datos, que el tamaño se cuenta en gigabytes, un problema adicional es el tamaño de los archivos y la sobrecarga de la red durante el proceso de copia de seguridad.
Almacenar las copias de seguridad de archivos grandes en varias versiones (de varios días), de varias computadoras puede llenar rápidamente el disco duro más grande y las matrices del disco.

Los archivos de bases de datos están optimizados para ser más rápidos para las operaciones de lectura y escritura. Esta optimización suele consistir en asignar un espacio en disco mucho mayor a la base de datos de lo que resultaría de la cantidad de información almacenada en la base de datos. Este espacio adicional, es rellenado sucesivamente a medida que crece la información en la base de datos. Gracias a esto, los datos no son movidos y copiados (dentro del archivo) durante las siguiente transacciones que agregan información o eliminar la existente, en la base de datos.
El espacio libre y sin asignar de un archivo en la base de datos, contiene ristras de bits con valor cero. Por ello, este tipo de archivos son muy sencillos de comprimir.

La compresión integrada en Ferro Backup System permite reducir el tamaño de la base de datos en una escala 9:1. Esto significa una transferencia más rápida de la copia de seguridad al servidor de respaldo y un tamaño de disco necesario más pequeño.

Adicionalmente, para solucionar el problema con una cantidad de datos elevada y para la acelerar la copia de seguridad, Ferro Backup System tiene equipado en las opciones de las copias de seguridad diferenciales a nivel de archivo. Esta opción solo está diseñada para hacer copias de seguridad de archivos grandes, tales como archivos de bases de datos y de programas de correo electrónico. Si está activado, Ferro Backup System realiza una copia de seguridad solo de estas partes del archivo, las cuales fueron modificadas o creadas desde la última copia realizada. Si el archivo de bases datos tiene un tamaño de 50 GB, desde la última copia de seguridad, solo ha sido modificado solo dentro del 1% (500 MB), solamente esa cantidad de datos será copiada de nuevo. 500 MB, en la escala asumida previamente 9:1, son solo 50 MB de datos para transferir por la red y almacenados por el servidor de respaldo.

En la recuperación de los datos, las copias realizadas con la función de copia de seguridad a nivel de fragmentos de archivo, se reproduce de la misma manera que las copias completas. El proceso de descompresión y el escalado de los fragmentos de los archivos son tarea de Ferro Backup System - Server sin la implicación del administrador.

Resumen

La copia de seguridad de una base de datos o archivos de correo electrónico se puede realizar de forma sencilla empleando las opciones integradas en Ferro Backup System. Open File Manager permite realizar el archivado de archivos que están en uso. La ampliación del OFM, que no bloquea los procesos que hacen escrituras de datos en el archivo, permite el archivado sin problemas de archivos de correo y de bases de datos locales (en línea). Unas bases de datos grandes se pueden archivar con la ayuda de peticiones a distancia y de una herramienta dedicada para realizar copias de seguridad. Como último recurso, también es posible realizar, con la ayuda de peticiones a distancia, copias de seguridad de archivos de un servidor pausado (offline). En cualquier caso, la opción de copia de seguridad a nivel de fragmentos de archivos junto con la compresión de datos, acelerarán el archivado y permitirá ahorrar espacio en el disco del servidor de respaldo.


Mire también