DBAtlas · Atlas d'exploitation des bases de données

Ajouter un service RAC avec instances preferred/available (y compris Application Continuity)

OracleRAC et Grid

Commande

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>

Ce que fait la commande

Définit pour les applications un service qui s'exécute normalement sur les instances preferred et bascule vers une instance available en cas de défaillance ; avec -role PRIMARY, il ne démarre que dans le rôle primaire sous Data Guard.

Quand l'utiliser

Pour connecter les applications à un service plutôt qu'à une instance, répartir les charges entre les nœuds et permettre un basculement transparent (drain/failover) pendant la maintenance planifiée.

Attention

Les applications doivent se connecter avec ce nom de service (via SCAN), pas avec un SID ou un nom d'instance. -failovertype TRANSACTION (Application Continuity) exige la prise en charge par l'application/le pilote ; en cas de doute, commencez par -failovertype SELECT (TAF) ou NONE. N'utilisez pas les services SYS$ ni le service par défaut nommé d'après db_unique_name pour les applications.

Ouvrir dans DBAtlas →

Voir aussi