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

Fast-Start Failover(FSFO) 활성화 및 observer 시작

OracleData Guard

명령어

# 1) Targets and threshold (seconds):
EDIT DATABASE '<primary_db_unique_name>' SET PROPERTY FastStartFailoverTarget='<standby_db_unique_name>';
EDIT DATABASE '<standby_db_unique_name>' SET PROPERTY FastStartFailoverTarget='<primary_db_unique_name>';
EDIT CONFIGURATION SET PROPERTY FastStartFailoverThreshold=30;
# 2) MaxAvailability for zero data loss (SYNC/FASTSYNC transport):
EDIT DATABASE '<primary_db_unique_name>' SET PROPERTY LogXptMode='FASTSYNC';
EDIT DATABASE '<standby_db_unique_name>' SET PROPERTY LogXptMode='FASTSYNC';
EDIT CONFIGURATION SET PROTECTION MODE AS MAXAVAILABILITY;
# Acceptable loss in MaxPerformance: EDIT CONFIGURATION SET PROPERTY FastStartFailoverLagLimit=30;
ENABLE FAST_START FAILOVER;
# 3) Observer: on a third server, separate from primary and standby (passwordless connection via wallet)
dgmgrl /@<primary_tns> "START OBSERVER obs1 IN BACKGROUND FILE IS '/u01/app/oracle/dg/fsfo_obs1.dat' LOGFILE IS '/u01/app/oracle/dg/obs1.log' CONNECT IDENTIFIER IS <primary_tns>"
# 4) Verify:
SHOW FAST_START FAILOVER;
SHOW OBSERVER;

하는 일

primary에 접근할 수 없으면 observer가 임계값 경과 후 standby로 자동 페일오버하고, 이전 primary가 복귀하면 자동으로 reinstate하게 한다.

사용 시점

사람의 개입을 기다리지 않고 RTO 목표가 분 단위인 중요 시스템에서.

주의

observer는 primary나 standby와 같은 서버/데이터 센터에서 실행하면 안 된다. 그렇지 않으면 사이트 손실 시 FSFO가 실패하거나 네트워크 분할 중 잘못된 판단을 할 수 있다. 두 데이터베이스 모두 flashback이 활성화되어 있어야 한다. 임계값이 너무 낮으면 짧은 네트워크 끊김이 불필요한 페일오버로 이어진다. 계획된 유지보수 시에는 primary 종료 전에 DISABLE FAST_START FAILOVER를 하거나 observer를 고려한다.

DBAtlas에서 열기 →

관련 항목