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

primary 손실 후 페일오버 수행(DGMGRL)

OracleData Guard

명령어

# Connect to the standby (the primary is unreachable):
dgmgrl sys@<standby_db_unique_name>
# 1) Assess the data that will be lost (Transport Lag / Apply Lag):
SHOW DATABASE '<standby_db_unique_name>';
# 2) Complete failover: all received redo is applied, then the role changes (recommended)
FAILOVER TO '<standby_db_unique_name>';
# 3) Emergency: immediately, without applying redo (more data loss)
# FAILOVER TO '<standby_db_unique_name>' IMMEDIATE;
SHOW CONFIGURATION;

하는 일

primary를 사용할 수 없을 때 standby를 primary 역할로 승격한다. complete 페일오버는 수신한 모든 redo를 먼저 적용하고, IMMEDIATE는 apply를 건너뛴다.

사용 시점

primary 사이트, 스토리지 또는 데이터베이스를 복구 불가능하게 잃었고 RTO상 스위치오버를 기다릴 수 없을 때.

주의

이 역할 전환은 되돌릴 수 없다. 먼저 primary가 정말로 다운되었는지 확인한다. 이전 primary가 열린 채로 애플리케이션이 계속 쓰면 split-brain과 데이터 분기가 발생한다(이전 primary를 종료/격리한다). MaxPerformance 모드에서는 transport lag만큼 데이터를 잃는다. 이후 새 primary 기준으로 모든 standby와 백업 전략을 재검토한다.

DBAtlas에서 열기 →

관련 항목