En la misma carpeta donde instalaste el Firebird (por ejemplo en: C:\Archivos de Programa\Firebird\Firebird_2_5\) encontrarás un archivo de texto llamado FIREBIRD.LOG

¿Para qué sirve el archivo FIREBIRD.LOG?

Para guardar en él información relacionada con el comportamiento del Firebird y algunos de los errores que ocurrieron y que detectó el Servidor.

Muchos programadores y administradores no se fijan en este archivo siendo que en él encontrarán mucha información útil que sirve para detectar y prevenir errores.

¿Cuáles son los mensajes que pueden encontrarse en el archivo FIREBIRD.LOG?

Conditional shadow dumped for database MiBaseDatos.fdb, indica que la Base de Datos está configurada para usar un shadow condicional. Más información sobre shadow puedes encontrar en: https://firebird21.wordpress.com/2013/05/09/creando-una-copia-shadow/

Control services error 1061: indica que el servicio no puede aceptar los mensajes de control del Windows. Este es un mensaje del Windows, no de Firebird.

Control services error 1062: indica que el servicio del Windows no se inició. Este es un mensaje del Windows, no de Firebird.

Database: MiBaseDatos.fdb Index n is corrupt on page MiNúmeroPágina level m. File: ..\..\..\src\jrd\validation.cpp, line: 1667 in table MiTabla (MiNúmeroTabla), indica que un índice de la tabla MiTabla está corrupto. La solución es desactivar ese índice y volver a activarlo. Si eso no funciona, hay que borrar el índice y volver a crearlo. Más información puedes encontrar en: https://firebird21.wordpress.com/2013/03/03/recreando-los-indices-de-las-tablas/

Firebird shutdown is still in progress after the specified timeout, indica que el Servidor del Firebird aún no terminó de cerrarse a pesar de haber ya transcurrido el tiempo establecido para que se cerrara.

Guardian starting: indica que se inició el Guardian, un programa que reiniciará el Servidor si ocurrió algún error que lo detuvo. Este mensaje no es un error, solamente indica que se empezó a ejecutar el programa Guardian.

Index nnnn is corrupt (missing entries) in table MiTabla (MiNúmeroTabla), indica que un índice de la tabla MiTabla está corrupto porque le faltan entradas, o sea que la cantidad de entradas que tiene el índice no es igual a la cantidad de filas que tiene la tabla. La solución es recrear el índice, como puedes ver en: https://firebird21.wordpress.com/2013/03/03/recreando-los-indices-de-las-tablas/

INET/inet_error: read errno = 10053, indica que la conexión fue abortada por algún software en la computadora donde se encuentra el Servidor.

INET/inet_error: read errno = 10054, indica que ocurrió un error en la red. Más información sobre este error puedes encontrar en: https://firebird21.wordpress.com/2013/03/06/error-10054-en-windows-y-104-en-linux/

I/O error during “WriteFile” operation for file “MiBaseDatos.fdb”. Error while trying to write to file. El sistema no puede encontrar el archivo especificado, indica que no existe la Base de Datos en esa carpeta.

Modifying procedure MiStoredProcedure which is currently in use by active user requests, indica que se modificó un stored procedure mientras algún usuario lo estaba usando.

Normal shutdown: indica que se desconectó correctamente.

Page nnnnn is an orphan, indica que una página fue alojada para ser usada por una transacción pero esa transacción falló. Si el Servidor del Firebird aloja una página para que la use una transacción y luego esa transacción termina con un ROLLBACK entonces nadie está usando a esa página, o sea que la página está huérfana. Las páginas huérfanas no causan daño a la Base de Datos, solamente ocupan espacio hasta que la Base de Datos sea validada (con gfix – validate) o hasta que se realice el ciclo backup/restore.

Relation has nnnn orphan backversions (mmmm in use) in table MiTabla (MiNúmeroTabla), indica que hay filas antiguas en MiTabla que no están asociadas con las filas actualmente en uso. Esta situación no puede causar daños ni errores, las filas huérfanas ocupan espacio dentro de la Base de Datos pero nada más que eso, y ese espacio será liberado y estará nuevamente disponible después de un ciclo backup/restore.

Shadow MiShadow.shd deleted from database MiBaseDatos.fdb due to unavailability on attach, indica que la referencia al archivo de shadow MiShadow.shd fue borrada de MiBaseDatos.fdb porque ese archivo de shadow no pudo ser encontrado en el disco duro, en la carpeta donde se suponía que debía estar. Más información sobre archivos shadow puedes encontrar en: https://firebird21.wordpress.com/2013/05/09/creando-una-copia-shadow/

Shutting down the server with nnnnn active connection(s), indica que el Servidor fue apagado mientras aún estaba conectada alguna Base de Datos. Algo así no debería ocurrir, es peligroso, porque puede conducir a corrupción de datos.

Terminated abnormally, indica que la conexión con el Servidor terminó de forma anormal

The guardian was unable to launch the server thread. errno : 1053, indica que el Guardian, el programa que reinicia al Servidor del Firebird automáticamente cuando ocurre un error, no pudo realizar su tarea en el tiempo preestablecido. Si este error se repite frecuentemente eso indica que el Windows está mal configurado o que algunos de sus archivos están dañados o que fueron borrados.

Timeout expired during remote server shutdown, indica que se terminó el tiempo y el Servidor remoto aún continúa funcionando.

Unable to complete network request to host “MYHOST”. Failed to locate host machine. Undefined service gds_db/tcp, indica que falta la entrada gds_db/tcp en el archivo de servicios del Windows. Ese archivo puedes localizarlo en la carpeta C:\Windows\System32\drivers\etc y su nombre es SERVICES. Agregando la línea: gds_db       3050/tcp         # Firebird Server, se resuelve el problema.

Value MiBaseDatos.fdb configured for alias MiAlias is not a fully qualified path name, ignored: indica que el alias escrito en el archivo ALIASES.CONF no se corresponde con una Base de Datos cuyo nombre y ubicación sean las que se escribieron en el archivo ALIASES.CONF, en otras palabras: no existe esa Base de Datos en esa carpeta.

WNET/wnet_error: ReadFile end-of-file errno = 109, indica que ocurrió un error en la red NetBeui: “The pipe has been ended.”. Ocurre cuando una aplicación termina sin antes haber cerrado la conexión  con el Firebird.

 XNET error: XNET server initialization failed. Probably another instance of server is already running. Operating system directive CreateMutex failed. No se puede crear un archivo que ya existe., indica que dos instancias de Firebird fueron ejecutadas utilizando ambas la misma dirección IP y el mismo puerto. CreateMutex es una función del Windows que permite crear objetos mutex, los cuales son usados en Cliente/Servidor.

¿Hay algún programa para ver el contenido del archivo FIREBIRD.LOG?

Sí, el programa IBSurgeon Log Viewer es gratis (freeware) y permite ver el contenido de ese archivo y además muestra una explicación sobre cada una de las entradas, es muy útil para entender lo que sucede.

ibslogviewer

(haciendo click en la imagen la verás más grande)

Puedes descargarlo desde:

http://ib-aid.com/products/firebird_interbase/monitoring/ibsurgeonlogviewer      (sitio oficial)

http://www.mediafire.com/?5wf6it1ctzlm6gu     (sitio alternativo, si el anterior no funciona)

Conclusión:

Todos los días deberías mirar el archivo FIREBIRD.LOG para comprobar que todo está bien. Y en caso de no ser así buscar la causa del problema y la solución.