Ambientes que rodam Oracle Soa Suíte possuem diversos datasources configurados, em alguns casos, dezenas deles.

Uma dica importante para quem administra ambientes Soa Suíte é quanto a parametrização da quantidade de conexões, sejam elas as iniciais ou máximas para o DbAdapter.

Vejam que a tela abaixo é quanto a  monitoração de conexões de outbound de alguns pools, sendo que ele está deployado/implementado somente no adminserver – fácil até aí.

Daí, a quantidade de conexões máximas e mínimas abertas no referido datasource deverá ser a mesma configurada no DbaAdapter (uma aplicação que pode ser conferida na área de deployments da sua console administrativa). (eis/DBA/SOADemo é o jndi para um datasource configurado no seu domínio e que tem como target um server ou cluster)

Screen Shot 2014-04-24 at 1.07.14 PM

 Mas a coisa muda de figura quando temos um ambiente clusterizado. É que a quantidade de conexões abertas junto ao banco de dados deverá ser igual a multiplicação de JVMS existentes e que possuam como o target o referido datasource.

Vamos a um exemplo:

Caso tenhamos um ambiente clusterizado com 26 JVMs e todas elas possuam um datasource com o mínimo de 5 conexões e o máximo de 40 conexões, o banco deverá suportar até 1040 conexões simultâneas ( total de conexões 1040 = 26 jvms x 40 conexões abertas máximas por cada JVM).

Este valor total, o de 1040 conexões, deverá ser configurado no DbAdapater do respectivo datasource/jndi, já que ele fica deployado para todo o cluster(todas as jvms).

dba_adapter

Há necessidade de realizar o restart das JVMS para que essa nova configuração seja implementada com sucesso ?

Até hoje, eu nunca precisei realizar um restart. Mas é bom ficar de olho nos logs para não ter problemas.

Vejam que a não configuração correta quanto a quantidade de conexões totais parametrizadas no DbAdapater é um dos maiores gargalos de banco em ambientes SOA.

Sendo assim e possuindo 4 ou mais datasources configurados em seu ambiente Oracle Soa Suíte, é normal vc ter as entradas JNDI deles parametrizadas no DbAdapter, e também, a correta parametrização referente a quantidade máxima de conexões que ele, o DbAdapter, poderá suportar, nunca esquecendo que ele trabalha com totais.