DBAtlas · 데이터베이스 운영 아틀라스

preferred/available 인스턴스를 지정하여 RAC 서비스 추가(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를 지정하면 Data Guard에서 primary 역할일 때만 시작한다.

사용 시점

애플리케이션을 인스턴스가 아닌 서비스에 연결하고, 워크로드를 노드별로 분리하며, 계획된 유지보수 중 끊김 없는 페일오버(drain/failover)를 가능하게 하기 위해.

주의

애플리케이션은 SID나 인스턴스 이름이 아닌 이 서비스 이름으로 (SCAN을 통해) 연결해야 한다. -failovertype TRANSACTION(Application Continuity)은 애플리케이션/드라이버 지원이 필요하다. 확신이 없으면 -failovertype SELECT(TAF) 또는 NONE으로 시작한다. SYS$ 서비스나 db_unique_name과 같은 이름의 기본 서비스를 애플리케이션에 사용하지 않는다.

DBAtlas에서 열기 →

관련 항목