Adicionar um serviço RAC com instâncias preferred/available (incluindo Application Continuity)
OracleRAC & GridComando
srvctl add service -db <db_unique_name> -service <service> \
-preferred <inst1>,<inst2> -available <inst3> \
-pdb <pdb> -role PRIMARY -policy AUTOMATIC \
-failovertype TRANSACTION -commit_outcome TRUE \
-failoverretry 30 -failoverdelay 10 \
-clbgoal SHORT -rlbgoal SERVICE_TIME -notification TRUE \
-drain_timeout 300 -stopoption IMMEDIATE
srvctl start service -db <db_unique_name> -service <service>
# Verify:
srvctl config service -db <db_unique_name> -service <service>
srvctl status service -db <db_unique_name> -service <service>O que faz
Define um serviço para aplicações que normalmente roda nas instâncias preferred e migra para uma instância available quando elas falham; com -role PRIMARY ele inicia apenas no papel de primário sob Data Guard.
Quando usar
Para conectar aplicações a um serviço em vez de a uma instância, particionar cargas de trabalho entre nós e permitir failover transparente (drain/failover) durante manutenções planejadas.
Atenção
As aplicações devem conectar com esse nome de serviço (via SCAN), não com um SID ou nome de instância. -failovertype TRANSACTION (Application Continuity) exige suporte da aplicação/driver; na dúvida, comece com -failovertype SELECT (TAF) ou NONE. Não use serviços SYS$ nem o serviço padrão com o nome do db_unique_name para aplicações.
Relacionados
- Verificar o status do banco de dados, das instâncias e dos serviços RAC com srvctl
- Parar / iniciar um banco de dados RAC ou uma única instância com srvctl (rolling)
- Realocar um serviço RAC para outra instância
- Verificar o status dos recursos do cluster (crsctl stat res -t)
- Verificar a saúde da pilha do cluster, a lista de nós e a versão do Clusterware
- Verificar a integridade do OCR e fazer um backup do OCR (ocrcheck / ocrconfig)