Este post será o primeiro relacionado ao Oracle RAC e mais especificamente sobre serviços.
Os serviços no Oracle RAC torna possível o listener fazer o balanceamento de conexões em um cluster.
Esse recurso é extremamente interessante principalmente em ambientes que utilizam pool de conexões.
A utilizar pool de conexões por questão de administração, torna-se complicado saber qual aplicação consumindo mais recurso se um só serviço, que é o padrão da criação do banco for utilizado.
Para resolver o problema podemos criar novos serviços e depois monitorar sua utilização.
Criando serviços em um Oracle RAC:
$ srvctl add service -d PROD -s SERVIÇO -r I1,I2 -a I3,I4
onde:
-d: Nome do banco
-s: Serviço
-r: Instâncias preferenciais (obrigatório)
-a: Instâncias disponíveis
Iniciar um serviço em todas as instâncias preferencial:
$srvctl start service -d PROD -s SERVIÇO
Parar um serviço em instâncias específicas:
$srvctl stop service -d PROD -s SERVIÇO -i I1,I2
Desabilitar um serviço em uma instância:
$srvctl disable service -d PROD -s SERVIÇO -i I4
Transformar uma instância disponível em preferencial:
$srvctl modify service -d PROD -s SERVICO -i I5 -r