Gbak - Copias de Seguridad

GBAK - Firebird Backup y Restauración

GBAK es una herramienta de Firebird en línea de comandos para copia de seguridad y restauración de una base de datos completa.

GBAK es capaz de realizar una copia de seguridad mientras la base de datos se está ejecutando. No hay necesidad de cerrar la base de datos durante una copia de seguridad GBAK. GBAK creará una instantánea coherente de la base de datos en el momento en que comienza a funcionar.
Sin embargo puede haber una caida de la performance durante la copia de seguridad, por lo que es una buena idea hacer copias de seguridad por la noche.GBAK visita todas las páginas de la base de datos, por lo que también llevará a cabo una recolección de basura en la base de datos.


Sintaxis general

gbak -user -password

PARA BAKUPS:
gbak -user -password Base_Datos Fichero_Backup

Base_Datos: Nombre de la base de datos sobre la que desea una copia de seguridad
Fichero_Backup: Nombre del archivo de copia de seguridad.

La extensión normal del archivo de copia de seguridad. FBK de Firebird y. Gbk para InterBase.

Sólo SYSDBA o el propietario de la base puede realizar una copia de seguridad. Para bases de datos de varios archivos, sólo se especifica el nombre del primer archivo que tiene el mismo nombre de base de datos.

Only SYSDBA or the database owner can perform a backup. For multi-file databases, specify only the name of the first file as the database name.

PARA RESTAURAR:
gbak -user -password  Fichero_Backup Base_Datos

Fichero_Backup: Nombre del archivo de copia de seguridad.
Base_Datos: Nombre de la base de datos sobre la que desea una copia de seguridad.

Para restauraciones, es el archivo de copia de seguridad y es el nombre de la base de datos que se va a construir desde el archivo de copia de seguridad. Usted tendrá que especificar la opción -C para la restauración.


General Options

-nodbtriggers
Suprime los Triggers en ejecución [Firebird 2.1]
-pas[sword] 
Password de la Base de Datos
-fet[ch_password] 
En lugar de -password: Busca una contraseña en un fichero, por lo que no es visible en la línea de comandos. En la entrada estándar, al usuario se le solicitará la contraseña.[Firebird 2.5]
-m[etadata]
Sólo realiza una copia de seguridad / restaurar de los metadatos (esquema). 
Las tablas no se restauraran.
-role 
Conecta como ROLE
-se[rvice]
:service_mgr
Backup: Crea el archivo de copia de seguridad en el servidor de base de datos, utilizando el Administrador de servicios.
Restaurar: Crea la base de datos desde un archivo de copia de seguridad en el servidor, utilizando el Administrador de servicios.
Todos los nombres de archivo (archivo de copia de seguridad, archivo de registro) debe especificarse desde la perspectiva del servidor.

-u[ser] 
Nombre de usuario de base de datos
-v[erbose] or
-v[erify]
Detalle de salida de lo que está haciendo GBAK
-y 
Redirecciona todos los mensajes de salida a un archivo.
El archivo no debe existir antes de ejecutar GBAK!
-y suppress
Modo silencioso: Suprimir mensajes de salida.
-z
Mostrar GBAK versión y la versión del servidor


Backup Options

-b[ackup_database]	
Copias de seguridad. La opcion es opcional.
-co[nvert]
Convierte tablas externas a las tablas internas
-e[xpand]
Crea una copia de seguridad sin comprimir
-fa[ctor] n
Factor de bloqueo de dispositivo de cinta
-g[arbage collect]
No realiza la recolección de basura durante copia de seguridad, por lo que la copia de seguridad será más rápida. Puedes hacer un plan para restaurar o un barrido de todas formas después de la copia de seguridad.
-ig[nore]
Pasa por alto los errores de control, mientras se realiza la copia de seguridad
-l[imbo]
Ignora las transacciones en el limbo mientras ser realiza la copia de seguridad

-m[etadata]
Sólo realiza una copia de seguridad / restaurar de los metadatos (esquema). 
Las tablas no se restauraran.
-nt
Formato no transportable (Esta opcion se usa para cuando se sabe que la copia se va a restaurar en la misma plataforma y la versión base de datos)
-t[ransportable]		
Crea una copia de seguridad transportable (Transportable entre plataformas y versiones de servidor).
Este es el valor predeterminado.


Restore Options

-bu[ffers]
Establecer el tamaño del caché de base de datos restaurada
-c[reate_database]
Restaurar a una nueva base de datos (la base de datos archivo de destino NO DEBE existir)
-fix_fss_d[ata] 
Reparación de datos incorrectos durante la restauración UNICODE_FSS [Firebird 2.5]
-fix_fss_m[etadata] 
Reparación de datos incorrectos UNICODE_FSS durante la restauración [Firebird 2.5]
-i[nactive]
Pone todos los índices en INACTIVO
-k[ill]
No crea sadows definidas en la copia de seguridad 
-m[etadata]
Sólo devuelve los metadatos (esquema). No devuelve los datos de las tablas.
-mo[de] read_write
Restaura la base de datos para lectura/escritura. (Este es el valor predeterminado)

-mo[de] read_only
Restaura una base de datos en modo sólo lectura
-n[o_validity]
No restaura las restricciones (validity constraints). Así que usted puede restaurar los datos que no cumpla con estas restricciones y que de lo contrario no se podían restaurar.
-o[ne_at_a_time]
Por lo general, la restauración se realiza en una sola transacción para la base de datos completa. Este comando pone una confirmación después de cada tabla. Así que usted puede usar esto para restaurar parcialmente las bases de datos de de tablas corruptas.
-p[age_size] 
Establecer el tamaño del caché de base de datos restaurada
Ajusta el tamaño de página de la nueva base de datos. puede ser uno de 1024, 2048, 4096, 8192. El valor predeterminado es 1024.

-r[eplace_database]
Restaura a través de una base de datos existente. Esto sólo puede ser realizado por SYSDBA o el propietario de la base de datos que se sobrescribe. NO restaurar sobre una base de datos que este en uso! [Firebird 1.0, 1.5]
-rep[lace_database]
Nueva abreviatura de la antigua -replace_database [Firebird 2.0]
-r[ecreate_database] o[verwrite]
[Firebird 2.0] Restaura sobre una base de datos existente. Esto sólo puede ser realizada por SYSDBA o el propietario de la base de datos que se sobrescribe. NO restaurar sobre una base de datos que está en uso!
-r es equivalente a -c. La opocion "sobreescribir" restaurará a través de una base de datos existente.
-use_[all_space]
Normalmente, durante la restauración, páginas de base de datos será aproximadamente igual al 80%. Con la opción use_all_space, las páginas de la base de datos se llenan al 100%. (Útiles para bases de datos de sólo lectura que se prevea ninguna modificación más.)


Ejemplos

Un Backup comun

gbak -v -t -user SYSDBA -password "masterkey" dbserver:/db/warehouse.fdb c:\backups\warehouse.fbk

Backup con salida a archivo LOG

del c:\backups\warehouse.log
gbak -v -t -user SYSDBA -password masterkey -y c:\backups\warehouse.log dbserver:/db/warehouse.fdb c:\backups\warehouse.fbk

Un Restore comun

gbak -c -v -user SYSDBA -password masterkey c:\backups\warehouse.fbk dbserver:/db/warehouse2.fdb

Restaurar un base de datos ya esistente  (Firebird 1.0, 1.5)

gbak -c -r -v -user SYSDBA -password masterkey c:\backups\warehouse.fbk dbserver:/db/warehouse.fdb

Restaurar un base de datos ya esistente (Firebird 2.x)

gbak -r o -v -user SYSDBA -password masterkey c:\backups\warehouse.fbk dbserver:/db/warehouse.fdb

Crear un base de datos de solo lectura

gbak -c -v -mode read_only -use_all_space -user SYSDBA -password masterkey c:\backups\warehouse.fbk c:\files\warehousedb.fdb

Backups en Multiples-ficheros

Sintaxi para backup

gbak [options] ...

NOTA: no especifique un tamaño para el último archivo. Siempre será llenado a tomar lo que sobra, no importa cuán grande.
El tamaño puede ser dado en bytes (8192), kilobytes (1024k), megabytes (5m), o gigabytes (2 g)

Sintaxi para restore

gbak -c [options] ...


Restauración de una base de datos de varios archivos

gbak -c [options] ...

NOTA: no especifique un tamaño para el archivo de base de datos anterior. Siempre puede crecer sin límite a tomar el resto.
El tamaño puede ser dado en bytes (8192), kilobytes (1024k), megabytes (5m), o gigabytes (2 g)

Restauración a partir de una copia de seguridad de varios archivos a una base de datos de varios archivos

gbak -c [options] ... ...


Copia de seguridad y restauración de la Base de Datos de Seguridad

Firebird 1.0, 1.5

Puede realizar una copia de seguridad periódica de la base de datos de seguridad. La base de datos de seguridad reside en el directorio de Firebird. Su nombre se debe

  • ISC4.gdb en Firebird 1.0 y
  • Security.fdb en Firebird 1.5.

Firebird 2.x (Usando el administrador de servicios)

Firebird 2.x no permite el acceso a la base de datos normal a la base de datos de seguridad. Su nombre es ahora security2.fdb

La única manera de acceder a la base de datos de seguridad es a través del Administrador de servicios. Como GBAK También puede usar el Administrador de servicios (Opción -se), puede ejecutar una copia de seguridad utilizando esta opción. Sin embargo, el archivo de copia de seguridad también se escribirá en la máquina servidor.

Sintaxis general:
gbak  -user  -password  -service :service_mgr  

Ejemplo:

gbak -v -t -user sysdba -password masterkey -service dbserver:service_mgr c:\Programme\Firebird2\security2.fdb C:\Backups\Security2.fbk
  (en este caso, Security2.fbk se escribirán en la carpeta C:\Backups del servidor)

 

Cuando el servidor de base de datos escucha en un puerto no predeterminado:

gbak-v-t-user sysdba-password-se masterkey dbserver/3051: service_mgr c: \ Archivos de programa \ Firebird2 \ security2.fdb C: \ Backups \ Security2.fbk


Firebird 2.1/2.5

En Firebird 2.1 hay una nueva opción -no_dbtriggers que suprime los TRIGUERS durante copia de seguridad / restauración. Así que usted puede suprimir cualquier comportamiento no deseado para la conexión que GBAK necesita establecer con la base de datos, como por ejemplo programar un copia automatizada.


Restauración de la Base de Datos de Seguridad

¡¡ATENCION!!. No es posible restaurar la base de datos Firebird seguridad mientras se está ejecutando.

En caso de que su base de datos de seguridad haya sido destruida, esto es lo que puede hacer:

  • Detenga el servicio Firebird
  • Reemplace la base de datos de seguridad actual por una nueva. Si todo lo demás falla, vuelva a instalar el servidor Firebird
  • Usted ahora debe poder entrar con SYSDBA y la contraseña. Si no, vuelva a instalar el servidor Firebird ...
  • Iniciar el servicio Firebird
  • Uso de GBAK, restaurar la copia de seguridad de la base de datos de seguridad a un lugar temporal (como C: \ Temp security2.fdb \)
  • Detenga el servicio Firebird de nuevo
  • Ahora copie el archivo desde el lugar temporal hasta el lugar correcto en la carpeta de Firebird
  • Iniciar el servicio Firebird
  • Ahora usted debe tener su "antiguo" base de datos de seguridad de nuevo.
  • Buena Suerte! :-)

Actualizar una base de datos de Seguridad para Firebird 2.0

Hay un capítulo especial "Cómo abordar la nueva base de datos de Seguridad" sobre este tema en el Firebird 2.0 Notas de la versión, que se instalan en el subdirectorio doc del directorio de Firebird.

También debe echar un vistazo al fichero misc\upgrade\security\security_database.txt, lo que explica en detalle cómo hacerlo.

Fuente:
http://www.destructor.de/firebird/gbak.htm