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

Arrêter / démarrer une base RAC ou une seule instance avec srvctl (rolling)

OracleRAC et Grid

Commande

# 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 mount

Ce 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.

Ouvrir dans DBAtlas →

Voir aussi