¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Como prevenir a corrupção de bases de dados no SQL Anywhere 11 com replicação bidirecional e SQL Remote.

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

Olá

Estamos enfrentando problemas com bancos de dados que se corrompem.

Temos um servidor que executa um banco de dados SQL Anywhere 11. (o banco de dados consolidado)
Além disso, temos cerca de 15 bancos de dados remotos que rodam nos laptops de nossos trabalhadores móveis.

Para manter todos os bancos de dados sincronizados, configuramos uma replicação bidirecional de servidor para laptop.

Para o processo de replicação, utilizamos o "SQL Remote".

Cada laptop deve replicar seus dados uma vez a cada 1 ou 2 semanas.

Para a troca de mensagens, utilizamos o tipo de mensagem "arquivo".

Este ano, já experimentamos 6 vezes em que um banco de dados remoto se corrompeu após a replicação. (após executar dbremote.exe).

O arquivo de log da utilidade dbremote NÃO mostra erros, a replicação parece ter sido concluída sem problemas.
No entanto, após isso, não é mais possível se conectar ao banco de dados, devido ao seguinte erro de asserção:

    • [Sybase][ODBC Driver][SQL Anywhere]Erro interno do banco de dados *** ERRO *** Asseveração falhou: 201501 (11.0.1.2376)
      Página 0x0:0x7182d1 para o registro solicitado não é uma página de tabela -- transação revertida
      Código de erro=-301
      Estado SQL=HY000

Alguém pode me dizer mais sobre esse erro?

O que está dando errado e por quê?

Ou alguém tem algumas dicas sobre como prevenir isso ou dicas sobre como posso fazer uma análise por conta própria para ver exatamente o que se corrompeu no banco de dados?

Qualquer ajuda é apreciada.

Obrigado.

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

4 Respuestas

0
Cargando...

Olá Krenton,


A maioria dos nossos laptops tem o banco de dados armazenado em um disco adicional. O disco rígido é colocado em uma baia que substitui o leitor de cd-rom do laptop. A baia tem (como o cd-rom original) um conector sata. Embora eu não tenha certeza se todos os bancos de dados corrompidos estão armazenados nesse disco adicional, você acha que poderia ser a razão?

Na verdade, tenho uma baia semelhante em meu laptop, e devo dizer que, por experiência pessoal, o disco tende a "mover" ou "saltar" de seu suporte e se desconectar inesperadamente (especialmente se estou transportando). Preciso empurrar a carcaça externa para dentro e ele se reconectará.

----

Se você for ao Gerenciador de Dispositivos, Unidades de disco, e clicar com o botão direito em "Propriedades" do disco, qual é a Política de remoção (guia Políticas) definida para este disco? Deveria estar configurado para "remoção rápida" (e operações de fluxo constante para o disco).

Qualquer outra configuração nesse cenário poderia resultar em corrupção do banco de dados se o disco for desconectado inesperadamente de seu soquete SATA...

Saudações,

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...

Estes discos podem ser reconhecidos pelo sistema operacional como unidades removíveis e se comportar de forma diferente das unidades internas, dependendo da configuração ("rápida" vs. "segura"). Isso poderia resultar em corrupção no banco de dados se o dispositivo for desligado (modo de suspensão ou hibernação) com gravações em disco armazenadas em cache mas não escritas.

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

Olá Jeff,

Obrigado pela sua resposta.

Após a sua explicação, estou começando a sentir confiança de que tem algo a ver com o hardware dos laptops.

Como mencionei em uma resposta anterior ao Breck, também temos 3 bases de dados remotas que rodam em servidores Windows 2008 R2 com uma conexão permanente com o banco de dados consolidado e nunca tiveram problemas.

A maioria dos nossos laptops tem o banco de dados armazenado em um disco rígido adicional. O disco rígido é colocado em um compartimento que substitui o leitor de CD-ROM do laptop. O compartimento tem (como o leitor de CD-ROM original) uma conexão SATA. Embora não esteja 100% certo se todos os bancos de dados corrompidos estão armazenados nesse disco "adicional", você acha que pode ser uma razão?

Também tentarei entrar em contato novamente com o suporte da SAP, para ver se podem analisar um banco de dados corrompido.

Obrigado novamente!

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

Olá Krenton,


        Página 0x0:0x7182d1 para registro solicitado não é uma página de tabela -- a transação foi desfeita
        Código de erro=-301
        Estado SQL=HY000

        Alguém pode me dizer mais sobre esse erro?
        

Especificamente, a página no deslocamento 0x7182d1 no banco de dados (então se tiver um tamanho de página de 4 KB, isso seria um deslocamento de byte 7439057 x 4096 = 30470377472 no banco de dados) em 0x0 (o banco de dados principal em execução) tem um cabeçalho de página que indica que os dados na página não são dados de tabela. Não sabemos o que é, mas a assinatura para as informações da tabela conectada à tabela que você está escaneando não está como deveria ser.


        O que está dando errado e por quê?
        

No mundo real, muitas coisas podem dar errado. Enumero algumas das possíveis coisas neste pergunta aqui no fórum do SQL Anywhere . Esta lista pode incluir erros de software, mas também pode incluir casos onde os meios não respeitam a escrita através ou a ordem de escrita - consulte http://scn.sap.com/docs/DOC-34090 (Requisitos de E/S do SQL Anywhere para Linux e Windows) para mais detalhes.

Também há casos conhecidos onde os drivers da Intel não estão configurados com as configurações corretas de escrita através. Os detalhes disso estão na documentação: DocCommentXchange (Melhorando a robustez nos drivers de armazenamento da Intel).


        O Suporte Técnico deve continuar fornecendo assistência. Se o problema for um erro recentemente descoberto no SQL Anywhere 11, o conselho será aplicar um EBF mais recente ou atualizar para uma nova versão. No entanto, isso é improvável neste caso.
        

Breck está certo - provavelmente seria melhor dar uma olhada no arquivo de banco de dados em suporte técnico para obter mais pistas sobre o que está acontecendo aqui. Com as informações atuais, é difícil dizer mais do que "algo não estava correto no momento em que a página foi vista pelo servidor de banco de dados".

Saudações,

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?