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:
- Ligar a BD como sysdba
- Alterar número de sessões de BD concorrentes
- Alterar número de processos concorrentes
- Reiniciar instância
alter system set sessions=400 scope=spfile
alter system set processes=400 scope=spfile
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.