Dados em Buffer SQL

Estou tendo problemas com banco de dados (SQL server) e uma aplicação em hot Standby.
O servidor parece perder a conexão e ‘estocar’ os arquivos em buffer, gerando arquivos “i3e” e “i3o” gigantescos (da ordem de 8 - 15 gb).
O servidor deixou de gravar no dia 22/01/2021 sem motivo aparente, estava tudo funcionando normalmente até então e foram gerados um arquivo de i3o de 14gb e um i3e de 9gb.
Preciso muito fazer a leitura desses dois arquivos para obter dados de uma possível falha que ocorreu no dia 01/02 as 17h.
Alguém tem alguma sugestão? As configurações estão conforme os artigos da base de conhecimento para aplicações Hot Standby e trabalhando com SQL server.

1 Like

Gabriel,

Você chegou a revisar a conexão com o banco de dados? Os arquivos E3I/E3O acumulam dados quando o E3 perde a conexão com o banco. Ao reestabelecer a conexão, os dados são consumidos automaticamente.

1 Like

Olá! Já tentei executar esses passos. Após reiniciar os servidores e o DB aparentemente voltou a gravar, mas preciso descobrir o motivo dessa falha de comunicação, tendo em vista que os dois computadores em Hot Standby são conectados diretamente via cabo com o servidor do DB.
Preciso também consultar esses dados que estão em buffer, existe como? Ou terei de esperar eles serem enviados ao DB?
Ao estar gravando ele deveria parar de aumentar o tamanho dos arquivos e3i e e3o? Pois o e3o não mudou de tamanho e o e3i diminui e aumenta constantemente.
Grato pela atenção.

Gabriel,

Os arquivos E3I/E3O deveriam sumir quando voltasse a gravar. Os dados só estarão disponíveis para consulta após serem enviados para o banco. Para que eu possa verificar o motivo da falha, envie o log do E3 para pgustavo@elipse.com.br.

Ok, farei o backup desses dados amanhã e enviarei para o email.
Grato pela resposta.

Bom dia, Paulo.
Enviei os arquivos para o email que você solicitou.
Os dados que o elipse consulta vão até o dia 22/01.


Essas imagens é versão do elipse e o tamanho dos arquivos e3i e e3o, eles aumentaram de ontem para hoje.
Abaixo, seguem as fotos de como o banco está configurado no E3.


arquivps

Gabriel,

Estranho que não há nenhum sinal do banco nos logs. O que acontece quando você clica no botão “Testar Conexão”?

Vi que o intervalo entre registros nas configurações do Histórico está em 0, ou seja, ele não irá gravar por scan. Isso está correto?

Olá, tanto o hot quanto o standby estão com a mensagem “conexão com o SQL server bem sucedida”.
Quanto ao registro de histórico, não posso afirmar pois ainda não estou 100% dentro das funcionalidades do sistema, mas acredito que deveria estar gravando para emitir gráficos e relatórios, correto?
Onde posso verificar essa opção? Nas opções do Hist_Eventos?
at.te

Você anexou uma imagem das configurações do Histórico ‘Hist_Cargas’, onde o intervalo entre os registros está em 0. Assim o E3 não irá gravar nada nessa tabela, a não ser que a aplicação esteja alterando isso em runtime ou esteja executando o método WriteRecord por script.

Entendi. Com essa opção em 0 ele ficaria gerando arquivos i3e e i30? Vou verificar isso no futuro.
As configurações do banco estão da seguinte forma na aplicação.

Gabriel,

Nos últimos logs enviados do PC SERVIDOR1, aparecem diversas mensagens de erro como esta:

2021-02-01 23:45:48.142 0x820 0x840 SQLDBCONNECTION (‘sql/Cindacta2’) ErrorLocal = ExecuteSql Function Error, sql string = INSERT INTO KF_PBT_01_MME_08 VALUES (‘2021-01-11 14:02:55.473’,219.513031005859,192,219.49626159668,192,220.117645263672,192,219.708984375,192,126.930114746094,192,126.561851501465,192,127.065048217773,192,2.73536324501038,192,2.74559593200684,192,0,192,1.82698631286621,192,0.195952504873276,192,0.311056524515152,192,0,192,0.507009029388428,192,0.347261905670166,192,0.347469478845596,192,0,192,0.69473135471344,192,-0.28669399023056,192,0.154851168394089,192,0,192,-0.131842836737633,192,1.43572127819061,192,0.895205318927765,192,1.17635023593903,192,1.27020859718323,192,2.23283553123474,192,2.33300685882568,192,2.15719723701477,192,2.17693853378296,192,2.40793108940125,192,2.27523493766785,192,47.3512954711914,192,47.4094009399414,192,0,192,4.78026792780302E-318,192,1.33002471860464E-320,192,6.90467609507351E-318,192,60.0076217651367,192) Error #0x80040E57 Description:The floating point value ‘4.78026792780302E-318’ is out of the range of computer representation (8 bytes). (Source: Microsoft OLE DB Provider for SQL Server) (SQL State: 22003) (NativeError: 168) Error #0x80040E57 Description:The floating point value ‘1.33002471860464E-320’ is out of the range of computer representation (8 bytes). (Source: Microsoft OLE DB Provider for SQL Server) (SQL State: 22003) (NativeError: 168) Error #0x80040E57 Description:The floating point value ‘6.90467609507351E-318’ is out of the range of computer representation (8 bytes). (Source: Microsoft OLE DB Provider for SQL Server) (SQL State: 22003) (NativeError: 168)

Sugiro verificar isso com o DBA.

Existe alguma possibilidade de ser o tipo de dado que o elipse ou clp estarem enviando errado?

Acredito que sim, Gabriel.

Ok, obrigado! Irei verificar com o pessoal que implementou essa nova variável no sistema e quando obter a solução posto aqui nesse tópico.

Olá, corrigindo algumas querys travadas no BD os arquivos foram enviados mas ainda restaram algumas dúvidas.
A aplicação que está em HOT não está enviando os dados para o BD, somente a aplicação em standby, dessa forma, a aplicação em HOT sempre fica criando os arquivos em buffer para só quando ela for para standby enviar então para o BD.
O buffer maior era de 14gb (e3i e e3o) e estava na aplicação em HOT. Ao trocar a aplicação para standby para que os dados fossem enviados, somente os dados e3i foram, é correto isso? Talvez por causa do tamanho do buffer esteja ocorrendo esse problema? (A versão do elipse é 4.6.151).

Gabriel,

Este erro (floating point value is out of the range of computer representation) foi resolvido?