Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-10-2008
xjre xjre is offline
Miembro
 
Registrado: feb 2008
Posts: 13
Poder: 0
xjre Va por buen camino
Smile Cuestion de experiencia: Caida de servidor

Hola, ¿Qué tal?

Estuve buscando en foros y googleando un poco pero no encontré ninguna respuesta/thread/loquesea que se ajuste a lo que buscaba. El tema es que me parece que va mas por el tema de la experiencia, por lo que me aboco a consultar la que mas de uno de ustedes debe tener en el manejo de bases sql.

Sin importar la versión, la pregunta es bastante sencilla: ¿Qué hacen ustedes cuando se cae el servidor?

Es decir, se cae el servidor y quedan transacciones abiertas por los programas que se conectan. Estamos suponiendo que es un servidor hecho y derecho, con su correspondiente back de logs, base, etc. Supongamos también que no esta replicado, por lo que los programas no pueden apuntar a otro lado mientras.

La pregunta va por el tema del manejo de los logs. Le estoy siguiendo la pista pero todavía no termino de entender bien el concepto y cómo actúa bajo estas circunstancias. En definitiva, se me ocurre que se debería hacer un rollback de las transacciones no cerradas. Cualquier link a un tutorial o manual que explique bien esto, es agradecido.

Igualmente, quiero "nutrirme" de sus experencias y vivezas que mas de uno debe tener.

Desde ya, muchas gracias por sus respuestas.

Un saludo (no dos!)
Responder Con Cita
  #2  
Antiguo 22-10-2008
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Si la base es Firebird, cuando un servidor se cae, solo hay que esperar a que reinicie.

Las transacciones no se graban hasta que se hacen commits. Las aplicaciones conectadas empezarán a dar errores de conexión (y deberá hacer algo al respecto).

Cuando se vuelva a conectar, abrirá una nueva transacción y todo seguirá funcionando.

Hay una regla para programar bases de datos que dice que las transacciones deben estar abiertas el menor tiempo posible.

Si sigues esta regla, dificilmente tengas problemas. (Siempre que tengas un backup de la base), pues si el disco se quema...
Responder Con Cita
  #3  
Antiguo 22-10-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Como dice duilio, cuando un servidor (el que sea) se cae todas las transacciones pendientes se pierden puesto que no han hecho commit. Las aplicaciones normalmente empezaran a mandar mensajes puesto que ya no tienen acceso a la sesión que estaba activa cuando iniciaron. Basta con reniciar y todo listo.

Obviamente como dice duilio, las transacciones deben ser muy pero muy cortas.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #4  
Antiguo 22-10-2008
hecospina hecospina is offline
Miembro
 
Registrado: oct 2007
Posts: 202
Poder: 17
hecospina Va por buen camino
Creo que esto es denominado el principio de atomicidad, se hace todo o no se hace nada
Las bases de datos manejan esto sin necesidad de que se haga directamente desde la aplicacion, esto solo en los casos en que se manejen transacciones

Como te lo sugieren la idea es que la coneccion este abierta el menor tiempo posible, puedes guardar la informacion "commit" para cada registro editado, insertado o eliminado y no esperar a tener un gran numero de registros para hacerlo

Suerte
Responder Con Cita
  #5  
Antiguo 23-10-2008
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Exacto, con firebird no hay que hacer nada.
Pero... ¿cuándo se cae el servidor?, yo no recuerdo ninguna caída de ningún servidor sql firebird, ahora bien, si te refieres a caídas físicas, problemas de hardware, pues es cuestión de tener backups actualizados.
Si tienes un raid 1 (espejo), tampoco tendrás que hacer nada si se rompe el disco duro, seguirá funcionando con el otro, y es posible que ni siquiera te des cuenta que está roto uno de los discos.
Responder Con Cita
  #6  
Antiguo 23-10-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
En mi caso que uso MySQL sobre Linux, tengo replicado el servidor en otra oficina distinta de donde esté corriendo el principal, de hecho a algunos clientes les cobro una renta mensual por replicarles su servidor. Si algo le pasa al servidor principal, simplemente conecto el replicante y listo. Los clientes no tienen que hacer nada.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 28-10-2008
xjre xjre is offline
Miembro
 
Registrado: feb 2008
Posts: 13
Poder: 0
xjre Va por buen camino
Gracias por las respuestas

Saludos
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
La caida de Edgar ContraVeneno Humor 7 28-02-2007 10:01:07
¿Caída del servidor? Ñuño Martínez La Taberna 7 26-09-2006 10:57:10
Servidor web + Apache 2.58 + Delphi 7 + 0% de experiencia... papulo Internet 13 13-08-2006 07:09:05
Caida de comunicacion IVAND Firebird e Interbase 0 06-06-2003 00:05:47


La franja horaria es GMT +2. Ahora son las 17:44:21.


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