Tempo aproximado para leitura: 00:04:30 min
Ocorrência
Ao executar um programa é retornado o erro Servidor ou Sistema não tem mais recursos. Incremente o parâmetro n. (748)
Ambiente
Framework - Framework (Linha Datasul) - Progress OpenEdge - Todas as versões
Causa
O -n é um dos parâmetros que gerencia uma camada de alocação de recursos do Sistema Operacional para o número esperado de conexões com o banco de dados. Se a quantidade de conexões não está configurada corretamente na carga do banco poderão ocorrer problemas ao tentar se conectar ao banco de dados, como por exemplo a mensagem 748.
Solução
A quantidade de usuários deve ser mensurada com uma quantidade suficiente para suprir todas as conexões locais e conexões remotas, além dos processos background, como APW, BIW, AIW, sessões Promon, sessões de backup on-line. É importante ressaltar que a quantidade de usuários configurados não pode ultrapassar a quantidade de Progress Users contratados por sua empresa.
O -Mn é o parâmetro que controla o número total de servidores que serão utilizados por conexões remotas.
Mais de um broker pode ser definido para receber conexões, como por exemplo, definir um broker 4GL e um broker SQL. Para cada broker, é necessário definir um número de servers.
O valor definido para o parâmetro -Mpb será subtraído do valor definido para o parâmetro -Mn.
Cada broker secundário configurado para o banco de dados, ao ser iniciado, também utilizará um server definido para o parâmetro -Mn.
Exemplo:
Se o parâmetro -Mn for 40 e foi configurado um broker secundário, como por exemplo um broker do tipo SQL, ao iniciar o banco, ele utilizará um server para iniciar este broker, ou seja, deixando apenas 39 servers para distribuir entre os brokers 4GL e SQL.
O parâmetro -Mpb é quem define a quantidade de servers por broker.
O valor do -Mn será a soma do valores definidos para os brokers 4GL e SQL + 1.
O -Ma indica número máximo de conexões por server.
Ao calcular o -n é necessário saber o número de conexões locais esperados e o número de conexões remotas. As conexões remotas são calculadas somando o valor do -Mpb x -Ma de cada broker.
Exemplo, considerando que:
O número esperado de conexões locais - shared memory como APW, BIW, promon é 10;
O número desejado de brokers para clientes remotos é 2, incluindo 4GL e SQL;
O broker 4GL terá 10 servers e 5 clientes por server;
O broker SQL terá 5 servers e 5 clientes por server.
Teríamos os valores:
Broker 4GL: -Mpb 10 e -Ma 5
Multiplicando os dois, teríamos 50 conexões para o broker 4GL;
Broker SQL: -Mpb 5 -Ma 5
Multiplicando os dois, teríamos 25 conexões para o broker SQL;
Parâmetro -Mn: Soma dos -Mpb + 1;
Ex: -Mn 16
-n 50 + 25 + quantidade extras de conexões utilizadas por BIW, APW, promon, sendo que neste caso vamos sugerir que seriam 10.
O valor final do -n seria 85.
Neste exemplo, a carga do banco ficaria desta forma, considerando apenas os parâmetros relacionados a conexão com o banco. Existem outros parâmetros usados na carga que não colocaremos no exemplo:
proserve sports2000 -Mpb 10 -Ma 5 -Mn 16 -ServerType 4GL -n 85
proserve sports2000 -Mpb 5 -Ma 5 -m3 -ServerType SQL
O parâmetro -m3 indica que este é um broker adicional, e deve ser utilizado para cada novo broker que é aberto para o mesmo banco de dados.
0 Comentários