Остановить / запустить базу данных 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 не сможет перенести подключения.
Связанные материалы
- Проверить состояние базы данных, экземпляров и сервисов RAC через srvctl
- Добавить сервис RAC с preferred/available-экземплярами (включая Application Continuity)
- Перенести сервис RAC на другой экземпляр
- Проверить состояние ресурсов кластера (crsctl stat res -t)
- Проверить работоспособность стека кластера, список узлов и версию Clusterware
- Проверить целостность OCR и сделать бэкап OCR (ocrcheck / ocrconfig)