Aumentar ligações no Oracle XE

O Oracle XE é uma versão limitada da base de dados Oracle. Apresenta as seguintes limitações:

  • 1GB máximo de memória alocada
  • 4GB máximo de espaço de disco
  • 1 instância

Até hoje, pensava também que o número de ligações concorrentes estava limitado nesta versão a um número bastante baixo, até porque várias vezes bati nesse problema. Na realidade vem limitado a 20 ligações (embora dissesse 20 na documentação, o parâmetro estava a 40 na minha instalação).

Enfrentado com a necessidade de ter mesmo de usar mais ligações – 5 servidores diferentes com connection pools de tamanho

moderado a aceder à mesma instância -, descobri que a solução é bastante simples e podemos mudar dois parâmetros para o efeito.

Os passos são os seguintes:

  1. Ligar a BD como sysdba
  2. Alterar número de sessões de BD concorrentes
  3. alter system set sessions=400 scope=spfile

  4. Alterar número de processos concorrentes
  5. alter system set processes=400 scope=spfile

  6. Reiniciar instância

Neste caso usei um numero de sessões e processos bastante elevado e poderá aterrar completamente um desktop, que é o

ambiente típico onde corre um Oracle XE. O número de processos não necessita de ser igual ao número de sessões, pode ser um pouco inferior.