Gfix - Gestión y reparación de errores

Gfix - Gestión y reparación de errores

GFIX es una herramienta de Firebird en línea de comandos para la solucion de problemas de administración como la reparación de los datos, eliminar temporales, etc

Sintaxis General

gfix [opciones] -user  -password   [opciones]
 
-user 
Nombre de usuario de la base de datos
-pas[sword] 
Clave de la base de datos
-fet[ch_password] 
En lugar de -password: Fetch hace invisible la clave en la línea de comandos. Cuándo el usuario conecta se le solicitará la contraseña. [Firebird 2.5]

Parar la Base de Datos Firebird

Cuando una base de datos se ha cerrado, sólo SYSDBA y el propietario de base de datos son capaces de conectarse a la base de datos con el fin de realizar tareas administrativas.

Opciones

-at[tach] 
Se utiliza con la opción -shut. Espera unos segundos a que todas las conexiones actuales finalizen. Si después de unos segundod todavía hay conexiones abiertas, el cierre se cancelará y devolverá un error.
-f[orce] 
Se utiliza con la opción -shut.
Espera unos segundos a que todas las conexiones actuales finalizen. Si después de unos segundod todavía hay conexiones abiertas, todas las conexiones y las operaciones son canceladas y la base de datos se apaga. Utilizar con precaución.
-o[nline]
Si alguna operacion -shut esta pendiente, es cancelada. De lo contrario la base de datos seguira ON-LINE.
-sh[ut]
Apaga la Base de Datos. Debe ser utilizado junto con -attach, -force o -tran
-shut {normal | multi |
single | full}
-online {normal | multi |
single | full}
 
Firebird 2.0 o superior: Nuevas formas de apagado:

NORMAL: La Base de Datos esta Activa y ON-LINE
MULTI: Sólo la conexión SYSDBA y al propietario de la Base de Datos se le permitirá conectar.(modo compatible con Firefox 1.0/1.5)
ÚNICO: Sólo una conexión de SYSDBA le permitirá
conectar la Base de Datos.
FULL: shutdown Exclusivo: Base de datos está completamente fuera de línea, no se permitirá las conexiones (ahora es posible acceder a la base de datos de archivos de forma segura en una base de archivos, por ejemplo, para copias de seguridad)

Use -shut para "bajar" en la escala de cierre y -online para "subir" en esa escala.

-tr[an] 
Se utiliza con la opción -shut. Espera unos segundos a que todas las transacciones en ejecución terminen.
Si después de esperar unos segundos aún hay en marcha operaciones, el cierre será cancelado.

Ejemplos

Apaga la Base de Datos, espera 60 segundos a que todas la conexiones se cierren.

gfix -user SYSDBA -password "masterkey" dbserver:/db/mydb.fdb -shut -attach 60

Tenga en cuenta que GFIX terminará con un error si todavía hay conexiones abiertas después de 60 segundos.

Apaga la Base de Datos. fuerza el apagado despues de 60 segundos.

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -shut -force 60

Apaga la Base de Datos, fuerza el apagado en el acto

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -shut -force 0

Vuelve a poner la Base de Datos ON-LINE

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -online

Ejemplos para Firebird 2.0

Apaga la Base de Datos en el modo usuario unico.

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -shut single -force 60

Pone la Base de Datos ON-LIne de nuevo

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -online normal

Apaga la base de datos, fuerza el cierre en el acto, no permiten las conexiones posteriores, incluso de SYSDBA o al titular

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -shut full -force 0


Reparar base de datos, Barrido de temporales

Opciones

-f[ull]
Usado con -v. Comprueba todos los registros y las páginas no asignadas y libera fragmentos de registro
-h[ousekeeping] 0
Configurar como apagado el barrido automatico de temporales.
-h[ousekeeping] 
Ajuste de intervalo de barrido a las transacciones (por defecto es 20000)
-i[gnore]
Pasa por alto los errores de suma de comprobación durante un barrido al validar.
-m[end]
Marca los registros como no disponibles por lo que se omiten en una copia de seguridad posterior.
-n[o_update]
Usar la opcion -v. Comprueba todos los registros,las páginas y los errores de los informes, pero no los repara.
-sweep
Fuerza el barrido de temporales
-v[alidate]
Usar con la opción -v. Comprueba la validez de los datos. Al mismo tiempo, los errores son reportados y reparados.

Ejemplos

Valida la Base de Datos

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -v -f

Limpia la Base de Datos de temporales

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -sweep

Limpia la Base de Datos de temporales cada 50000 transacciones

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -h 50000

Desactiva la limpieza de temporales automática de la Base de Datos

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -h 0

Varios

Opciones

-a[ctivate]
Activar creacion de archivos temporales para la Base de Datos en uso.
-b[uffers] 
Activa por defecto los buffers de las paginas para la Base de Datos.
-c[ommit] 
Ejecuta un commit de las transacciones dadas y que este en el limbo.
-c[ommit] all
Ejecuta un commit de todas las transacciones que esten en el limbo.
-l[ist]
Mostrar números de identificación de todas las transacciones de limbo y lo que sucedería a cada transacción, si usara -t en las mismas.
-mo[de] read_write
Configura la Base de Datos en modo lectura / escritura (por defecto). Requiere el acceso exclusivo a la base de datos (Shutdown)
-mo[de] read_only
Ajusta el modo de la Base de Datos a sólo lectura. Requiere el acceso exclusivo a la base de datos (Shutdown)
-pa[ssword] 
Clave de la Base de Datos
-p[rompt]
El uso con -l. Solicita la acción.
-r[ollback] 
Hace un Roll Back de las transacciones especificadas.
-r[ollback] all
Hace un Roll Back de todas las transacciones.
-s[ql_dialect] 1
Configura la Base de Datos al dialecto SQL 1.
-s[ql_dialect] 3
Configura la Base de Datos al dialecto SQL 3.
-t[wo_phase] 
Realiza la recuperación automática en dos fases para las transacción del limbo dada.
-t[wo_phase] all
Realiza la recuperación automática en dos fases de todas las transacción del limbo.
-user 
Usuario de la Base de Datos
-w[rite] sync
Fuerza la Activacion del modo escritura
-w[rite] async
Fuerza la Desactivacion del modo escritura
-z
Muestra la version de GFIX

Ejemplos

Configura la Base de Datos para solo lectura

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -shut -attach 60
gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -shut -force 0
gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -mode read_only
gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -online

Configura la Base de Datos para el Dialecto SQL 3

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -sql_dialect 3

Fuerza la activacion de escritura en la base de datos

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -write sync

Fuerza la desactivacion de escritura en la base de datos

gfix -user SYSDBA -password masterkey dbserver:/db/mydb.fdb -write async


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