Ajouter un service RAC avec instances preferred/available (y compris Application Continuity)
OracleRAC et GridCommande
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.
Voir aussi
- Vérifier l'état de la base, des instances et des services RAC avec srvctl
- Arrêter / démarrer une base RAC ou une seule instance avec srvctl (rolling)
- Déplacer un service RAC vers une autre instance
- Vérifier l'état des ressources du cluster (crsctl stat res -t)
- Vérifier la santé de la pile cluster, la liste des nœuds et la version de Clusterware
- Vérifier l'intégrité de l'OCR et sauvegarder l'OCR (ocrcheck / ocrconfig)