Добавить сервис RAC с preferred/available-экземплярами (включая Application Continuity)
OracleRAC и GridКоманда
srvctl add service -db <db_unique_name> -service <service> \
-preferred <inst1>,<inst2> -available <inst3> \
-pdb <pdb> -role PRIMARY -policy AUTOMATIC \
-failovertype TRANSACTION -commit_outcome TRUE \
-failoverretry 30 -failoverdelay 10 \
-clbgoal SHORT -rlbgoal SERVICE_TIME -notification TRUE \
-drain_timeout 300 -stopoption IMMEDIATE
srvctl start service -db <db_unique_name> -service <service>
# Verify:
srvctl config service -db <db_unique_name> -service <service>
srvctl status service -db <db_unique_name> -service <service>Что делает
Определяет сервис для приложений, который обычно работает на preferred-экземплярах и при их отказе переходит на available-экземпляр; с -role PRIMARY он запускается только в роли primary в Data Guard.
Когда использовать
Чтобы приложения подключались к сервису, а не к экземпляру, для распределения нагрузки по узлам и для прозрачного переключения (drain/failover) при плановом обслуживании.
Внимание
Приложения должны подключаться по этому имени сервиса (через SCAN), а не по SID или имени экземпляра. -failovertype TRANSACTION (Application Continuity) требует поддержки со стороны приложения/драйвера; если не уверены, начните с -failovertype SELECT (TAF) или NONE. Не используйте для приложений сервисы SYS$ и сервис по умолчанию, названный по db_unique_name.
Связанные материалы
- Проверить состояние базы данных, экземпляров и сервисов RAC через srvctl
- Остановить / запустить базу данных RAC или отдельный экземпляр через srvctl (rolling)
- Перенести сервис RAC на другой экземпляр
- Проверить состояние ресурсов кластера (crsctl stat res -t)
- Проверить работоспособность стека кластера, список узлов и версию Clusterware
- Проверить целостность OCR и сделать бэкап OCR (ocrcheck / ocrconfig)