Um cluster consiste em multiplos computadores interconectados ou servidores que têm como objetivo compartilhar/ processar requisições de usuários em aplicações para usuários finais. O Oracle RAC permite que um Database seja clusterizado e ele utiliza o Oracle Clusterware como infraestrutura para processar várias instances como um sistema único.
O ORACLE RAC (real application cluster) é uma solução de banco de dados em cluster que requer dois ou mais nós de hardware capazes de trabalhar juntos sob o controle de um sistema operacional. Se você precisa conectar uma aplicação java via JDBC a um banco Oracle RAC o formato clássico de String de conexão não vai funcionar.
[code]
jdbc:oracle:thin:@<HOST>:1521:<SID>
[/code]
A string que deve ser utilizada para uma conexão Oracle RAC é
DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ENDERECO_HOST1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=ENDERECO_HOST2)(PORT=1521))(LOAD_BALANCE=ON)(FAILOVER=ON))(CONNECT_DATA=(SERVICE_NAME=NOME_DO_SERVICE_NAME)(FAILOVER_MODE=(TYPE=select)(METHOD=basic)))
Para descobrir o NOME_DO_SERVICE_NAME , procure pelo arquivo tsnames.ora (geralmente localizado em C:\orant\NETWORK\ADMIN – Plataforma Windows)
Cada “Address” do Address_List representa um servidor de conexão, fique atento aos IP’s de cada Host!