PDA

Ver la Versión Completa : Error extraño en la base de datos.


burasu
15-11-2005, 11:00:23
Hola amigos, estoy trabajando con los componentes FIBPlus 6.25 sobre Firebird y con Delphi 5. Estoy trabajando con las bases de datos en Linux.

El problema es que al lanzar cualquier consulta, ya sea desde el mismo delphi o desde cualquier administrador de bases de datos de Firebird me muestra el siguiente mensaje:

I/O error for file "/tmp/fb_sort_xXXXxx". Error while trying to write to file. No space left on device.

Entiendo que el error pudiera ser por falta de espacio en alguna unidad, ya sea local o del servidor, pero no es el caso. Así que estoy un poco perdido porque ya no se si el error pudiera ser cosa de permisos??? :confused:

Gracias de antemano por sus sugerencias y consejos.

burasu
15-11-2005, 12:02:15
Haciendo pruebas y limitando procesos, he descubierto que el problema está al generar la consulta un nuevo indice. Puesto que si se lo creo yo también ocurre el mismo fallo.

La tabla tiene aproximadamente 800.000 registros, no creo que el causante sea el volumen de datos no??

Casimiro Notevi
15-11-2005, 12:38:24
Haciendo pruebas y limitando procesos, he descubierto que el problema está al generar la consulta un nuevo indice. Puesto que si se lo creo yo también ocurre el mismo fallo. Qué quiéres decir con "al generar la consulta un nuevo indice", ¿que estás creando un índice en una sql?


La tabla tiene aproximadamente 800.000 registros, no creo que el causante sea el volumen de datos no?? no, para nada.

En cuanto al fb_sort, ¿puede que tengas asignado el fichero temp a alguna unidad inexistente o sin permiso de escritura?

burasu
15-11-2005, 12:52:25
Cuando me referia que generaba un nuevo indice me refería que intenté crear un indice exactamente igual al order by que utilizo en la consulta por si fuera un error de este tipo.

Creo que el problema puede ser de espacio, puesto que siempre a estado funcionando. De todas formas indagaré esa opción que me has dado casimiro.

Casimiro Notevi
15-11-2005, 14:35:16
Con firebird 1.5 tienes el firebird.conf en su directorio, ahí puedes incluir la línea:

TempDirectories = /dirtemp/sortfiles 500000000
TempDirectories = E:\dirtemp\sortfiles 250000000

En esos ejemplos (linux y windows) le decimos que almacene los ficheros temporales en esos directorios y que ocupe como máximo esos tamaños (500 y 250 MB)

En mi trabajo, los servidores que montamos (todos linux), incorporan siempre varios discos, en uno va sólamente el linux, en otro se guarda la base de datos y en otro para los archivos temporales.

En el caso del disco donde se almacena la base de datos, siempre lo montamos en raid-1 (espejo) con otro disco más.

burasu
15-11-2005, 15:59:41
Vale gracias Casimiro, configuraremos Firebird como me recomiendas.

Muchas gracias por tu ayuda