DBAtlas · Atlas de operaciones de bases de datos

Detener / iniciar una base de datos RAC o una sola instancia con srvctl (rolling)

OracleRAC y Grid

Comando

# 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

Qué hace

Detiene/inicia la base de datos o la instancia seleccionada de forma controlada a través de Clusterware; con -failover los servicios de la instancia detenida se mueven a instancias available, y -drain_timeout espera a que se drenen las sesiones.

Cuándo usarlo

Para reinicios rolling (nodo a nodo) durante parches, mantenimiento del SO o cambios de parámetros; para una parada completa planificada.

Precaución

En RAC use srvctl en lugar de SHUTDOWN de SQL*Plus; de lo contrario Clusterware no conoce el TARGET del recurso y puede reiniciar la instancia. stop database detiene todas las instancias = caída total. Si los servicios no tienen instancias available definidas, -failover no puede mover las conexiones.

Abrir en DBAtlas →

Relacionado