Arrêter / démarrer une base RAC ou une seule instance avec srvctl (rolling)
OracleRAC et GridCommande
# Whole database (all instances):
srvctl stop database -db <db_unique_name> -stopoption immediate
srvctl start database -db <db_unique_name>
# Rolling maintenance: stop one instance, moving its services to the other instances
srvctl stop instance -db <db_unique_name> -instance <instance> \
-stopoption immediate -drain_timeout 300 -failover
srvctl start instance -db <db_unique_name> -instance <instance>
# By node:
srvctl stop instance -db <db_unique_name> -node <node> -stopoption immediate
# Start in a specific open mode (e.g. a physical standby in mount):
srvctl start database -db <db_unique_name> -startoption mountCe que fait la commande
Arrête/démarre la base ou l'instance choisie de façon contrôlée via Clusterware ; avec -failover, les services de l'instance arrêtée basculent vers les instances available, et -drain_timeout attend la vidange des sessions.
Quand l'utiliser
Pour les redémarrages rolling (nœud par nœud) lors de patchs, de maintenance OS ou de changements de paramètres ; pour un arrêt complet planifié.
Attention
En RAC, utilisez srvctl au lieu de SHUTDOWN SQL*Plus ; sinon Clusterware ne connaît pas le TARGET de la ressource et peut redémarrer l'instance. stop database arrête toutes les instances = interruption totale. Si aucune instance available n'est définie pour les services, -failover ne peut pas déplacer les connexions.
Voir aussi
- Vérifier l'état de la base, des instances et des services RAC avec srvctl
- Ajouter un service RAC avec instances preferred/available (y compris Application Continuity)
- 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)