Load Balance e Failover para Oracle E-Business Suite sobre Oracle RAC
Olá amigos, hoje vamos algumas técnicas de um documento muito bom da Oracle para Load Balance e Failover para ambientes E-Business Suite 11i.
Ambiente utilizado é um Oracle E-Business Suite 11i sobre um Oracle RAC 10gR2.
1. Configuração do servidor de balanceamento de carga para aplicativos Forms.
Oracle E-Business Suite 11i (versão 11.5.10.2) inclui um grande número de aplicações baseadas em forms. Estes forms fazem conexões internas ao banco de dados usando Net Listener, que é configurado nos forms ou middle tier. Ao usar o Real Application Clusters, essas conexões podem ter a carga balanceada entre os servidores de banco de dados usando o balanceamento de carga do servidor.
Execute o Context Editor por meio do Oracle Applications Manager da interface para definir o valor de “Tools OH TWO_TASK”. Defina o valor desta variável para apontar para o alias “_806_balance” gerados no arquivo tnsnames.ora.
Execute o Autoconfig usando :
$COMMON_TOP/admin/scripts/<context_name>/adautocfg.sh.
Verifique o arquivo de log do AutoConfig para analise se houve algum erro.
Carregue novamente as variaveis de ambiente através do $APPL_TOP/APPSORA.env.
Certifique-se que a variável TWO_TASK está definida para <database_name> _806_balance alias.
Por exemplo se executarmos um echo $ TWO_TASK deve retornar o <servicename> _806_balance.
Pare o E-Business Suite 11i
$COMMON_TOP/admin/scripts/<context>/adstpall.sh
Após realizar a parada novamente inicie o E-Business Suite 11i
$COMMON_TOP/admin/scripts/<context>/adstrtal.sh.
Se você tiver vários forms tiers defina o valor da seguinte opção de perfil em cada servidor de forms.
ICX: Forms Launcher.
Nota: Se você não definir esta opção de perfil no servidor, a execução de Autoconfig irá substituir os valores de opção em seu perfil com o nome do hostname de onde o Autoconfig foi executado pela última vez.
Para verificar os valores de opção perfil acima, conecte no Oracle Applications como “SYSADMIN”.
Selecione o item Profiles-> System
Verifique os valores deste perfil para assegurar que foram realizadas as modificações com o nome do host.
Nota: Neste ambiente de load balance, se a instância onde a sessão forms está conectada cair, você receberá FRM-92100 erro. Você precisa fechar a janela do forms applet e logar novamente para se conectar a qualquer uma das instâncias sobreviventes. Para mais detalhes sobre as forms erros ver Metalink nota 136027.1.
2. Configuração do módulo especifico Load Direction para Forms Applications.
Se você precisa reduzir a quantidade de tráfego do interconnect entre as instâncias de banco de dados, você pode direcionar as sessões de banco de dados dos Forms para aplicações específicas ou responsabilidades para instâncias especificas.
Isto pode ser setado através do perfil opção “Database Instance”.
Logar no Oracle Application como “SYSADMIN”.
Selecione o item Profiles-> System
Sete neste profile a opção “Database Instance”, e informe qual instância de banco de dados do RAC que você quer que está responsabilidade se conecte. Esta opção de perfil só pode ser definida no aplicativo a nível de Responsabilidade.
Nota: Neste ambiente de load balance, se a instância onde a sessão forms está conectada cair, você receberá FRM-92100 erro. Você vai precisar mudar manualmente o valor do profile para que a responsabilidade se conecte em outra instância.
3. Configuração do Load Balancing for Self-service Applications
As aplicações Self-Service se conectam ao banco de dados usando o cliente JDBC. Oracle E-Business Suite 11i utiliza o driver JDBC Thin, em vez do controlador Thick (OCI) JDBC.
O driver JDBC Thin suporta apenas o protocolo TCP / IP e requer uma conexão TCP / IP para o Net Listener, que utiliza uma conexão JavaNet ao banco de dados.
O balanceamento de carga de conexões JDBC é definindo pelo parâmetro “APPS_JDBC_URL” no DBC associados nas aplicações.
JDBC Load Balancing Setup
Defina o valor do “IAS OH TWO_TASK” e “Apps JDBC Connect Alias” para apontar para o alias <database_name>_balance gerados no arquivo tnsnames.ora
Exemplo:
s_weboh_twotask=VIS10gr2_BALANCE s_apps_jdbc_connect_alias=VIS10gr2_BALANCE
Execute o Autoconfig
$COMMON_TOP/admin/scripts/<context_name>
Verifique o arquivo de log do AutoConfig para analise se houve algum erro.
Assegurar que os locais dos arquivos dbc estão em $FND_TOP/secure/context_name e o nome do arquivo DBC é service_name.dbc e tem a seguinte entrada APPS_JDBC_URL
APPS_JDBC_URL=jdbc\:oracle\:thin\:@(DESCRIPTION\=(LOAD_BALANCE\=YES)(FAILOVER\=YES)
(ADDRESS_LIST\=(ADDRESS\=(PROTOCOL\=tcp)(HOST\=db_host1)(PORT\=port1))
(ADDRESS\=(PROTOCOL\=tcp)(HOST\=db_host2)(PORT\=port2)))(CONNECT_DATA\=(SERVICE_NAME\=<service_name>)))
Certifique-se de que o valor da opção de perfil “Applications Database ID” está definido para <service_name>.
Certifique-se de que o arquivo jserv.properties localizado em $IAS_ORACLE_HOME/Apache/JServ/etc e tem o nome e a localização do arquivo de DBC correta
Nota: Neste ambiente de balanceamento de carga, se a instância a que sessão de self-service está conectada cair, você receberá o erro de exceção Java. Você precisa subir a instância, e entrando novamente na aplicação. Se você quise que o failover aconteça perfeitamente, você deve definir o parâmetro “FND_JDBC_USABLE_CHECK” para “true” no DBC localizado em $FND_TOP/secure. Você pode experimentar alguma perda de desempenho depois de definir o valor deste parâmetro como “true”.
Conclusões
Bem amigos aqui foi apresentação das principais formas de load balance e failover para o E-Business Suite 11i, para mais informações segue nas abaixo o nome do documento e o número para localização no metalink.
Referências
- E-Business Suite 11i on RAC: Configuring Database Load Balancing & failover (Doc ID294652.1)
Espero ter ajudado.
Até a próxima!