¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo prevenir la corrupción de bases de datos en SQL Anywhere 11 con replicación bidireccional y SQL Remote

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 17 Vistas
0
Cargando...

Hola

Estamos teniendo problemas con bases de datos que se corrompen.

Tenemos un servidor que ejecuta una base de datos SQL Anywhere 11. (la base de datos consolidada)
Además, tenemos alrededor de 15 bases de datos remotas que se ejecutan en las computadoras portátiles de nuestros trabajadores móviles.

Para mantener todas las bases de datos sincronizadas, hemos configurado una replicación bidireccional de servidor a computadora portátil.

Para el proceso de replicación utilizamos "SQL Remote".

Cada computadora portátil debería replicar sus datos una vez cada 1 o 2 semanas.

Para el intercambio de mensajes utilizamos el tipo de mensaje "archivo".

Este año ya experimentamos 6 veces que una base de datos remota se corrompió después de la replicación. (después de ejecutar dbremote.exe).

El archivo de registro de la utilidad dbremote NO muestra errores, la replicación parece haber finalizado sin problemas.
Pero después de esto, ya no es posible conectarse a la base de datos, debido al siguiente error de aserción:

    • [Sybase][ODBC Driver][SQL Anywhere]Error interno de la base de datos *** ERROR *** Aserción fallida: 201501 (11.0.1.2376)
      Página 0x0:0x7182d1 para el registro solicitado no es una página de tabla -- transacción revertida
      Código de error=-301
      Estado SQL=HY000

¿Alguien puede decirme más sobre este error?

¿Qué está saliendo mal y por qué?

¿O alguien tiene algunos consejos sobre cómo prevenir esto o consejos sobre cómo puedo hacer un análisis por mí mismo para ver qué exactamente se rompió en la base de datos?

Cualquier ayuda es apreciada.

Gracias.

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Hola Krenton,


La mayoría de nuestras laptops tienen la base de datos almacenada en un disco adicional. El disco duro se coloca en una bahía que reemplaza al reproductor de cd-rom de la laptop. La bahía tiene (como el cd-rom original) un conector sata. Aunque no estoy 100% seguro de si todas las bases de datos que se corrompen están almacenadas en ese disco adicional, ¿crees que podría ser la razón?

En realidad tengo una bahía similar en mi laptop, y debo decir que por experiencia personal, el disco tiende a "moverse" o "saltar" de su soporte y se desconectará inesperadamente (especialmente si lo estoy transportando). Necesito empujar la carcasa externa hacia adentro y se volverá a conectar.

----

Si vas al Administrador de dispositivos, Unidades de disco, y haces clic derecho en "Propiedades" del disco, ¿cuál es la Política de extracción (pestaña de Políticas) establecida en este disco? Debería estar configurada para "extracción rápida" (y operaciones de flujo constante al disco).

Cualquier otra configuración en este escenario podría resultar en corrupción de la base de datos si el disco se desconecta inesperadamente de su socket SATA...

Saludos,

Jeff Albion

SAP Active Global Support

disk-cache.png
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Es posible que estos discos sean reconocidos por el sistema operativo como unidades extraíbles y se comporten de manera diferente a las unidades internas, dependiendo de la configuración ("rápida" vs. "segura"). Esto podría provocar corrupción en la base de datos si el dispositivo se apaga (modo de suspensión o hibernación) con escrituras en disco almacenadas en caché pero no escritas.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hola Jeff,

Gracias por tu respuesta.

Después de tu explicación, estoy empezando a sentir confianza en que tiene algo que ver con el hardware de las laptops.

Como mencioné en una respuesta anterior a Breck, también tenemos 3 bases de datos remotas que se ejecutan en servidores Windows 2008 R2 con una conexión permanente a la base de datos consolidada y nunca han tenido ningún problema.

La mayoría de nuestras laptops tienen la base de datos almacenada en un disco duro adicional. El disco duro se coloca en una bahía que reemplaza el reproductor de cd-rom de la laptop. La bahía tiene (como el reproductor de cd-rom original) un conector sata. Aunque no estoy 100% seguro de si todas las bases de datos que se corrompieron están almacenadas en ese disco "adicional", ¿crees que puede ser una razón?

También intentaré contactar nuevamente al soporte de SAP, para ver si pueden analizar una base de datos corrupta.

¡Gracias de nuevo!

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Hi Krenton,


        Página 0x0:0x7182d1 para registro solicitado no es una página de tabla -- la transacción se deshizo
        Código de error=-301
        Estado SQL=HY000

        ¿Alguien puede decirme más sobre este error?
        

Específicamente, la página en el desplazamiento 0x7182d1 en la base de datos (por lo que si tiene un tamaño de página de 4 KB, esto sería un desplazamiento de byte 7439057 x 4096 = 30470377472 en la base de datos) en 0x0 (la base de datos principal en ejecución) tiene un encabezado de página que indica que los datos en la página no son datos de tabla. No sabemos qué es, pero la firma para la información de la tabla conectada a la tabla que estás escaneando no es como debería ser.


        ¿Qué sale mal y por qué?
        

En el mundo real, muchas cosas pueden salir mal. Enumero algunas de las posibles cosas en esta pregunta aquí en el foro de SQL Anywhere . Esta lista puede incluir errores de software, pero también puede incluir casos donde los medios no respetan la escritura a través o el orden de escritura - consulta http://scn.sap.com/docs/DOC-34090 (Requisitos de E/S de SQL Anywhere para Linux y Windows) para más detalles.

También hay casos conocidos donde los controladores de Intel no están configurados con los ajustes correctos de escritura a través. Los detalles de esto están en la documentación: DocCommentXchange (Mejorando la robustez en los controladores de almacenamiento de Intel).


        El Soporte Técnico debería seguir proporcionando asistencia. Si el problema es un error recién descubierto en SQL Anywhere 11, su consejo será aplicar un EBF más reciente o actualizar a una versión nueva. Sin embargo, eso es poco probable en este caso.
        

Breck tiene razón - probablemente sería mejor echar un vistazo al archivo de base de datos en soporte técnico para obtener más pistas sobre lo que está sucediendo aquí. Con la información actual, es difícil decir más que "algo no estaba correcto en el momento en que la página fue vista por el servidor de base de datos".

Saludos,

Jeff Albion

SAP Active Global Support

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?