DBAtlas · Атлас эксплуатации баз данных

Остановить / запустить базу данных RAC или отдельный экземпляр через srvctl (rolling)

OracleRAC и Grid

Команда

# 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

Что делает

Контролируемо останавливает/запускает базу данных или выбранный экземпляр через Clusterware; с -failover сервисы остановленного экземпляра переносятся на доступные экземпляры, а -drain_timeout ожидает завершения сессий.

Когда использовать

Для поочерёдных (узел за узлом) перезапусков при патчинге, обслуживании ОС или изменении параметров; для планового полного останова.

Внимание

В RAC используйте srvctl вместо SHUTDOWN в SQL*Plus; иначе Clusterware не знает TARGET ресурса и может перезапустить экземпляр. stop database останавливает все экземпляры = полный простой. Если для сервисов не определены available-экземпляры, -failover не сможет перенести подключения.

Открыть в DBAtlas →

Связанные материалы