O.T.: ¿Se puede reversar automáticamente movimientos de MySQL?

91 views
Skip to first unread message

Alejandro Garcia G.

unread,
Sep 3, 2019, 1:49:36 PM9/3/19
to Comunidad de Visual Foxpro en Español
Tengo un caso muy particular, en una empresa que manejan un programa que administro y trabaja con base de datos MySQL el día 31 trabajaron normalmente, hay soportes impresos de los movimiento. Hoy me informan que esos movimientos del día 31 no aparecen, mi base de datos tiene unas tablas de auditoria que me registran los movimientos contables de manera automática, no aparecen esos movimientos, en las tablas normales, no aparecen esos movimientos, es mas, la tabla de consecutivos tiene los consecutivos con que se cerro el día 30.

Pregunto, ¿MySQL o el sistema operativo (en este caso es CentOS 6.5) puede hacer esto? es como si fuera un "ROLLBACK" de todo  lo  que se hizo, o una restauración del sistema a como quedo el día 30, ¿esto puede suceder?.

Alejandro.

Jean Pierre Adonis De La Cruz Garcia

unread,
Sep 3, 2019, 1:53:37 PM9/3/19
to Comunidad de Visual Foxpro en Español
Eso puede depender mucho del hosting donde tengas alojado tu base de datos, si es un servidor de pago, muchas veces sucede eso, se cae el servidor y solo crean un respaldo de la data ultima que tienen, y los que sufrimos realmente somos nosotros por que se pierde mucha informacion.
Yo te recomiendo tener un replica una data local y una en la nube, es mi opinion, lo trabajo asi por que ya me habia pasado.

ZeRoberto

unread,
Sep 3, 2019, 2:03:21 PM9/3/19
to publice...@googlegroups.com
Usas transacciones?, haces commit despues de cada grabada?

Saludos 

Ze 

--
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/3d5b4dbf-34d4-48d3-80df-71ca1569c54c%40googlegroups.com.

Alan Cybar

unread,
Sep 3, 2019, 2:05:25 PM9/3/19
to publice...@googlegroups.com
Buenas tardes,

Deberías revisar el log de inicio del Centos, te puede dar alguna pista de lo que habrá pasado. Te paso una página que puede ayudarte : https://blog.desdelinux.net/donde-se-encuentran-los-archivos-de-registro-logs-en-linux/

Saludos,

Alan Sanier

--
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.

Luis suescún

unread,
Sep 3, 2019, 2:52:15 PM9/3/19
to publice...@googlegroups.com
Ze, pero las transacciones se manejan a nivel de documento y esto es se todo un día, no existen transacciones por día 

Carlos Miguel FARIAS

unread,
Sep 3, 2019, 3:01:04 PM9/3/19
to Grupo Fox
Quien se encarga de las copias de seguridad? El 31 se hicieron? Es copia a final del día o en caliente?
Tienes certeza de que un operador no restauró el sistema con copias del 30?
No va a ser la primera vez que para ocultar maniobras "raras" alguien haga ese tipo de maniobras.

James Suárez

unread,
Sep 3, 2019, 3:03:58 PM9/3/19
to publice...@googlegroups.com
Mira, problema de hosting lo dudo. 
SI usas un hosting gratuito, ellos mismos en sus políticas ponen que eso puede pasar, que renuncian a cualquier responsibilidad de pérdida de información
Y si es de pago, ningún hosting te va a resturar o hacer rollback a todo tu VPS sin primero preguntarte. Suponiendo que hayan tenido algún problema primero te informaría y sobre todo si eso incluye que te borrarán información.

El error debe ser en tu código, hasta a los mejores programadores alguna vez nos pasó. Si tu dejas una transacción abierta y nunca la cierras, todo lo que se siga haciendo pues va a quedar en el limbo. Una vez la app se cierra MySQL hace rollback automáticamente. Eso es lo que debes revisar, si tu código permite que una transacción quede abierta. Un consejo (aunque sé que con VFP es un poco trabajoso) es poner todo tu operación dentro de un TRY, y poner el ROLLBACK dentro de un CATCH y Siempre verificar además los errores que devuelve SQLExec y lanzar excepciones (para que tú código se vaya al catch y haga el ROLLBACK)




Antonio Meza

unread,
Sep 3, 2019, 3:08:45 PM9/3/19
to Comunidad de Visual Foxpro en Español
Algo así me paso con un cliente el mes pasado, el tiene instalado MariaDb 10.1 en su maquina con un sistema de facturación imprimió y genero 5 facturas tiene los PDF y XML pero en la base de datos simplemente no hay rastro alguno de que haya hecho esas facturas, revise log, pero ahora que mencionan no revise el log del registro de windows si el de sistema restauro o hizo algo, pero en la base de datos absolutamente no encontré que paso, me había pasado con DBF que el usuario usaba carpetas sin conexión al servidor, pero en un servidor de base de datos no puse explicar al cliente que paso.


Fue el "mostro" como dice mi sobrinito cuando hacia travesuras jajajajaja


El martes, 3 de septiembre de 2019, 12:49:36 (UTC-5), Alejandro Garcia G. escribió:

James Suárez

unread,
Sep 3, 2019, 3:09:19 PM9/3/19
to publice...@googlegroups.com
Por otro lado, si te interesa saber si es posible restaurar una VPS es posible, siempre y cuando tenga un snapshot. Bueno, yo trabajo en el área de servidores, y vendo VPS, y por petición de mis clientes, una que otra vez he hecho rollback al VPS completo, así que alguien que sepa bastante del área de servidores puede hacerlo. Pero esto sería cierto en el caso de VPS (o Máquinas virtuales), en servidores físicos sería más complejo, ya que más que hacer snapshot, lo que podría hacer es una copia de los archivos de MySQL y reemplazarlos, o si maneja un sistema de archivos como Btrfs  y ZFS en ese caso, si existe también la posibilidad de hacer snapshots. En resumen, un usuario normal, no podría hacer una restauración así del sistema operativo o base de datos, pero un usuario que sepa de administración de servidores, si podría hacerlo

James Suárez

unread,
Sep 3, 2019, 3:12:00 PM9/3/19
to publice...@googlegroups.com
Te aconsejo que revises tu código, a mi una vez me pasó en la empresa que trabajé con VFP con SQL Server, un código que no estaba mal pero tampoco bien, dejó una puerta a que la transacción quedara abierta, y así mismo, varia información desapareció. Tuve que hacer maniobras bastante complejas por casi todo un día para recuperar, y revisar el código hasta que encontré el problema

--
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.

Alejandro Garcia G.

unread,
Sep 3, 2019, 3:29:20 PM9/3/19
to Comunidad de Visual Foxpro en Español
Les voy a aclarar unos detalles que se me olvidaron:
  • El servidor es local y propio.
  • El programa tiene mas de 10 años de trabajo continuo en muchas empresas, se utilizan transacciones y antes de grabar o imprimir algo se hace el commit.
  • Acabo de hacer un respaldo en otro equipo con la copia del sábado en la tarde y si aparecen todos los movimientos.
Voy a revisar lo que me indican.

Francisco

unread,
Sep 4, 2019, 6:32:22 AM9/4/19
to Comunidad de Visual Foxpro en Español
Me ha pasado en dos clientes lo mismo. Estoy totalmente seguro que tiene que ver algo con el Windows y la restauración del sistema. Ahora falta ver pq afecta a los datos una restauración si esos datos están fuera de program files... Se huele una cagada de MS. Ya veremos... de momento lo he podido solucionar pq tenía copias de seguridad.

Alejandro Garcia G.

unread,
Sep 4, 2019, 10:46:39 AM9/4/19
to Comunidad de Visual Foxpro en Español
Francisco saludos, la base de datos esta montada en un servidor GNU/Linux CentOS 6.5, no creo que sea el caso. 

Revise los logs y no veo nada anormal, ni los de CentOS ni el de MySQL.

He optado por subir la copia y repetir los movimientos que se hicieron el día 2 de septiembre que no fueron muchos, por lo menos eran mucho menos que los del día 31.

Ahora bien, sigo con la intriga de lo que pudo haber sucedido. ¿Tendrá algo que ver el espacio en el disco duro? es que note que tenia cerca de 1G de espacio libre en el disco duro. He eliminado una cantidad de espacio para ver si eso tiene algo que ver. 

Gracias por los comentarios y lo dejo acá para ver si a alguien le ha sucedido y nos pueda (por lo menos a mi) aclarar que puedo haber pasado. He puesto el tema en un grupo de CentOS y voy a hacer lo mismo en grupos de MySQL, solo para ver si alguno de ellos es el responsable, jejejeje. En serio, el detalle ha incomodado un poco al cliente y me pide que le explique que sucede.

Saludos.

Alejandro.
Reply all
Reply to author
Forward
0 new messages