Ver Mensaje Individual
  #3 (permalink)  
Antiguo 16/04/2008, 12:15
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: Proteger la base de datos de borrados accidentales.

Me temo que no es solución.

El problema no es recrear la base (cosa que ya está considerada, puesto que se crea de nuevo si la aplicación al iniciar no la encuentra), sino impedir que mientras la base esté siendo leída o actualizada alguien, accidentalmente o no, pueda borrarla.

Me explico: La aplicación requiere por razones de diseño de sistema que pueda ser accedida desde diversos puntos por usuarios privilegiados (superusuarios). El por qué, es políticas del negocio. No puedo hacer nada para evitarlo.

Esto hace que en un momento dado, uno o más usuarios puedan borrar, no sólo el contenido (cosa manejable por lock a tablas), sino la base misma.

No encuentro cómo, ni a nivel SO ni MySQL pueda evitar que eso ocurra mientras haya conexiones activas, con lo que repentinamente un usuario de consultas se encontrará que no puede acceder más a la base.

Los backups no son solución porque el problema es la concurrencia de las conexiones, no la restauración de la estructura o sus datos anteriores.