Ir al contenido


Foto

Aumento desproporcionado del tamaño de las bases de datos en FireBird


  • Por favor identifícate para responder
3 respuestas en este tema

#1 insoft

insoft

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 11 diciembre 2013 - 07:20

Estamos desarrollando nuestra aplicación con Delphi XE3 y FireBird 2.5.2. En nuestras bases de datos manejamos codificación ISO8859-1.

Hemos detectado que las bases de datos empiezan a aumentar su tamaño de manera exagerada y el acceso a las mismas se vuelve más lento. Cuando las conectamos a un gestos de base de datos como EMS SQL Manager obervamos que al tratar de abrirla se demora demasiado cargando los "Procedures". Al estar abierta y activa tratamos de abrir uno a uno los Procedures y hemos hallado que algunos de ellos no se pueden visuarlizar y generan un error de "Out of Memory" dando a entender que es demasiada la información de éste y que no puede ser mostrada.

Luego de analizar los procedures nos dimos cuenta que si en ellos se incluían vocales con tilde como á, é, í, ó, ú, Á, É, Í, Ó, Ú dentro de los comentarios, dichos caracteres serían reemplazados por otros como el caracter à y este a su vez se volvía a multiplicar miles de veces hasta hacer llegar la base de datos a tamaños de Gigas.

Solicitamos su colaboración para solucionar este problema que está incluso afectando la generación de las copias de seguridad (archivos FBK) y su posterior restauración (archivos FDB).

  • 0

#2 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 11 diciembre 2013 - 11:26

Saludos.

Este caso no lo había visto.

Mi recomendación es que hagas una prueba con una BD nueva limpia y crees un SP parecido a uno de la BD existente; entonces procede ha atacar la BD y ves los resultados.

En una ocasión me paso algo parecido y todo fue causa de un Trigger que le faltaba una condición provocando un desbordamiento por generar datos sin control.
  • 0

#3 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 12 diciembre 2013 - 04:44

Buenas,

Esto es debido al CharSet/Collation usado en la base de datos. A nosotros nos pasó en una BD que no tenía asignado CharSet (charset NONE). Lo extraño en tu caso es que dices que usas CharSet ISO8859-1, que debería aceptar acentos.

La solución? Si no tienes ganas de recrear la base de datos nueva con un CharSet/Collate correctos, no pongas acentos ni carácteres extraños en los comentarios ;-)

Saludos
  • 0

#4 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 13 diciembre 2013 - 03:21

Yo cuando migre a 2.5 elimine antes a mano todos los comentarios de tablas y procedures con acentos o eñes, porque esos metadata ahora tienen su charset y antes no lo tenian, y ese cambio es un poco lioso, así que era más sencillo quitarse los acentos.

Lo mejor es volcar los metadatos de la BD a fichero de texto (usando FlameRobin por ejemplo), entonces buscas y sustituyes las vocales acentuadas y las eñes, y con el fichero sin acentos lo ejecutas de nuevo en FlameRobin y tienes una BD vacia, identica pero sin acentos.

El segundo paso es volcar los datos de una a la otra, para eso usarías IbPump (tutorial en la web de mi empresa aquí: http://www.hcsoft.ne...cer&hoja=ibpump) y deberías tener todo limpio.
  • 0




IP.Board spam blocked by CleanTalk.