Árvore de páginas
Ir para o final dos metadados
Ir para o início dos metadados

Produto

:

TOTVS Banco de Dados                                                                                        

Versão RM

:

Qualquer Versão

Banco de Dados

:

SQL Server e Oracle

Processo

:

Solução de Erros

Sub Processo

:

BDE

Data da Publicação

:

05/06/2013


Os erros $210D e $2501 são decorrentes de conflitos na alocação de recursos de memória pelo Windows. Nas versões XP e Vista o endereçamento padrão para o BDE era bastante e não havia necessidade de realizar maiores ajustes no BDE para utilizar várias instâncias do BDE simultaneamente sem que houvesse conflitos nos recursos alocados.




Vemos porém que nas últimas versões do Windows o comportamento foi alterado, havendo necessidade de realizar modificações dos parâmetros SHAREDMEMLOCATE e SHAREDMEMSIZE, definindo endereçamento de memória que não esteja sendo utilizado pelo OS. Em muitos casos, no entanto, é possível ajustar as configurações do BDE para contornar o problema com conflitos de memória. Algumas soluções prováveis são:
 
Altere no BDE o parâmetro memsize para 205.
 
Solução 1: Nas configurações do BDE, acessar o parâmetro SYSTEM > INIT > SHAREDMEMLOCATE e modificá-lo para 5BDE.Salve a alteração e faça o teste de uso de aplicações simultaneamente abertas.
 
Solução 2: Nas configurações do BDE, acessar o parâmetro SYSTEM > INIT > SHAREDMEMSIZE e modificá-lo 4096. Salve a alteração e faça o teste de uso de aplicações simultaneamente abertas.
 
Solução 3: Nas configurações do BDE, acessar o parâmetro SYSTEM > INIT > SHAREDMEMLOCATE e modificá-lo para 0×5BDE. Acesse o parâmetro SYSTEM > INIT > SHAREDMEMSIZE e modifique-o 4096. Salve as alterações e faça o teste de uso de aplicações simultaneamente abertas.
 
Solução 4: Nas configurações do BDE, acessar o parâmetro SYSTEM > INIT > SHAREDMEMLOCATE e modificá-lo para 0×6BDE. Acesse o parâmetro SYSTEM > INIT > SHAREDMEMSIZE e modifique-o 8192. Salve as alterações e faça o teste de uso de aplicações simultaneamente abertas.
 
Para esta solução também são válidos os seguintes valores de SHAREDMEMLOCATE: 1000, 7000, 7F00, 2000, 3000, 4000, 5000, 6000,0x%BDE
 
É possível ainda que seja necessário remover ou desabilitar alguns drivers (de som por exemplo) no Windows 7 e 2008 para resolver o problema, mas normalmente somente “realocando” o pool de memória usado pelo BDE através HAREDMEMLOCATION já será suficiente. Reinicie a máquina após as alterações.
 
Solução 5: Desabilitar o recurso ASLR.
 
Estudando o assunto e pesquisando na Internet descobrimos que e o que ocasiona os erros de shared memory do BDE, desde o Windows Vista, é o recurso ASLR (Address Space Layout Randomization) http://en.wikipedia.org/wiki/Address_space_layout_randomization). Esse mecanismo tem como objetivo gerar uma aleatoriedade para os endereços de carga de EXEs e DLLs especialmente marcados (com o bit ASLR). Com isso aumenta-se assim a segurança do SO, pois diminui aprobabilidade de um atacante adivinhar onde as áreas importantes de memória estão carregadas. O BDE (lembrando que a versão atual foi liberada lá em 2001) é configurado para alocar uma a área de memória compartilhada no endereço 6BDE (0x6BDE0000, para Windows NT e superiores). Essa área coincide com a região utilizada pelo mecanismo de ASLR (acima de 0x50000000). Por isso os erros de conflito de memória compartilhada. Para solucionar o problema você poderá desabilitar o ASLR da máquina através da criação da chave MoveImages no caminho abaixo no registro:
 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
 "MoveImages"=dword:00000000
 
Outra alternativa para desabilitar o ASLR no Windows 7 é a utilização do Enhanced Mitigation Experience Toolkit v3.0 da Microsoft. A criação da entrada de registro pode não desabilitar o recurso para este SO em alguns casos.
 
O software facilitará este procedimento: http://www.microsoft.com/en-us/download/details.aspx?id=41138
 
A Microsoft não recomenda desabilitar o ASLR por conta do maior risco de contaminação por malwares, realçando que foi esse recurso que possibilitou maior segurança nos Windows a partir do Vista em diante e que o Hyper-V funciona bem com o mesmo.



Caso a inconsistência persista, favor incluir o aplicativo BDEADMIN.EXE e desmarcar as opções MandatoryASLR e BottomUpASLR



Em seguida realize o mesmo procedimento para todos os executáveis da linha CorporeRM instalados no diretório CorporeRM


.

Para Mais Informações

COMUNIDADE  R@Tecnologia

Canais de Atendimento:

Chamado: Através do Portal Totvs: www.suporte.totvs.com.br

Telefônico: 4003-0015 Escolhendo as opções 2 – (Software), 2 – (Suporte Técnico), 3 – (RM), 8 – (Tecnologia), 2 – (Banco de Dados);

  • Sem rótulos