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

Добавить сервис 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.

Открыть в DBAtlas →

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