Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-01-2013
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Chequear integridad base de datos

Buenos dias a todos!

Me gustaria poder incluir en mis aplicaciones en las que utilizo FB2.5 algun tipo de chequeo al inicio de las mismas para poder detectar posibles anomalias de la base de datos. Ya se que es una base de datos muy robusta y con bajo mantenimieto, pero ocurre aveces por problemas externos (sistema inestable, cortes electricos, etc) la base de datos pierda su integridad. Y me gustaria dentro de lo posible poder detectar posibles fallos de integridad en la misma, para poder lanzar un aviso al administrador de la aplicación. Porque en este tipo de casos si se detecta lo antes posible la solución suele tener un remedio facil, pero si no se percibe el problema y continua en el tiempo puede llegar a complicarse. Me ha pasado en alguna ocasión que al tener algunos problemas de consistencia la bd tampoco se estaban realizando correctamente las copias programadas con el gbak y el problema es que al estar automatizado nadie se enteraba de esto.

Por eso me gustaria poder realizar algun tipo de chequeo desde mi aplicación de la integridad de la base de datos.

Saludos!
__________________
Saludos,

Bitman
Responder Con Cita
  #2  
Antiguo 07-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes usar gbak -v
De todas formas, no es necesario, además de una pérdida de tiempo cada vez que conectes.
Firebird ya tiene un sistema de autorecuperación en caso de caídas por corte de electricidad y cualquier anomalía similar.
En (2013-1998)=15 años nunca he tenido ese problema con ninguna base de datos de ningún cliente. Jamás.
Así que si tienes algún problema no es por eso, debes buscar en otro sitio, normalmente los problemas en la BD se producen por fallos físicos en los discos.
Para ello puedes tener backups que no fallen y que avisen si no se hacen.
También puedes habilitar el 'shadow', que es una copia exacta en tiempo real de la BD en otro disco, así si falla uno, tienes el otro.
En fin, hay distintos mecanismos de seguridad, pero lo de verificar la BD cada vez que conectas no es lo ideal.
Responder Con Cita
  #3  
Antiguo 07-01-2013
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Hola Casimiro, muchas gracias por la respuesta.

Yo tambien hace muchos años que trabajo con Firebird, ya incluso antes trabajaba con Interbase y como decia se que son unos RDBM muy robustos y fiables. Pero yo si que he tenido por desgracia problemas con las base de datos. Los problemas que he tenido no son mas bien causados por otras causas (sistemas inestables, cortes electricos, fallos de disco, etc) pero por desgracia son los escenarios que me encuentro y que me toca trabajar.. Como la mayoria de veces es dificil cambiar estos escenarios lo que quiero es evitar que me causen a mi los minimos problemas, de ahi que quiero detectar cualquier anomialia 'lo antes posible' al igual que evidentemente tener las respectivas copias de seguridad.

Permiteme que te haga estas preguntas:

Existe alguna forma sencilla de utilizar el 'gbak -v' desde mi programa y obtener el resultado?

Enlentece mucho el sistema la utulizacion del shadow?

Como recomiendas hacer los backups que no fallen y me puedan avisar? (yo los hago como una tarea programada con gbak y si fallan no me entero)

Muchas gracias por tu respuesta!
__________________
Saludos,

Bitman
Responder Con Cita
  #4  
Antiguo 07-01-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.039
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Puedes ejecutar gbak con la forma típica de ejecutar un programa externo desde delphi y después aprovechar el fichero .log del gbak para buscar las cadenas "ERROR:" y "FAILED" para encontrar si ha habido algún problema.

Puedes descargarte un sencillo programita de backup que hice hace años y que implementa todo lo que he comentado, así tienes una guía de cómo se hace.
Está en nuestro FTP, concretamente aquí.

Última edición por Casimiro Notevi fecha: 09-01-2013 a las 20:17:04.
Responder Con Cita
  #5  
Antiguo 09-01-2013
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 21
Toni Va por buen camino
Gracias Casimiro por los aportes!
__________________
Saludos,

Bitman
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Conectar base de datos Firebird con base de datos Oscommerce 2.3.3 Adriadob Firebird e Interbase 11 31-10-2012 11:28:46
Chequear conexion a sql antigrondona Conexión con bases de datos 16 10-06-2011 00:28:58
MAnejando la integridad de los Datos en Firebird servicomp Firebird e Interbase 12 27-08-2007 20:07:21
Chequear privilegios de administrador miguel gomez API de Windows 5 06-12-2006 12:20:05
Chequear existencia de una BD vichovi Conexión con bases de datos 3 22-09-2003 23:17:48


La franja horaria es GMT +2. Ahora son las 05:24:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi