데이터베이스 연구실.log

역할 전환과 오류 상태

역할 전환, 준비 검사, Broker 상태를 구분하며 오류별 상세 출력, Failover, 재편입 결과는 기재 없음

SwitchoverDGMGRLSUCCESSWARNINGERROR

#핵심 요약

실습에서는 Broker의 SWITCHOVER TO로 Standby를 새 Primary로 전환하고 반대 방향으로 다시 전환함

전환 전후 SHOW CONFIGURATION과 V$DATABASE로 구성원 역할과 OPEN_MODE를 확인함

SUCCESS 출력에는 성공 사례가 있지만 WARNING, ERROR 각각의 상세 출력과 원인 분류는 기재 없음

적용 재개와 아카이브 반복을 모든 오류의 해결책으로 사용할 근거는 없음

#개념과 동작 원리

실습 단계 기록된 변화
최초 구성 초기 Primary와 Physical Standby, 구성 SUCCESS
Switchover 초기 Standby가 새 Primary로 OPEN되고 이전 Primary는 재기동 후 MOUNT
전환 후 SQL 확인 새 Primary는 PRIMARY, READ WRITE, 이전 Primary는 PHYSICAL STANDBY, MOUNTED
Switchback 새 Primary 쪽 DGMGRL에서 초기 Primary 고유 이름으로 다시 SWITCHOVER TO 실행

실습의 Switchback은 반대 방향의 Switchover를 가리키며 별도의 SWITCHBACK 명령은 제시하지 않음 Fast-Start Failover는 실습 출력에서 DISABLED이며 장애 시 강제 Failover 명령과 이전 Primary 재편입 절차는 기재 없음

역할 전환에 사용하는 Broker 구성과 상태 조회는 Data Guard Broker와 DGMGRL에서 다룸

#주요 용어와 구성 요소

구문 의미
SUCCESS Broker가 검사한 구성 상태이며 애플리케이션 접속 성공이나 전환 준비 완료와 동일한 판정은 아님
WARNING, ERROR 동반된 오류 번호와 DB별 상태를 읽어 원인을 좁혀야 함
Transport Lag, Apply Lag 미수신 지연과 이미 수신한 변경의 가시성 지연을 구분함

#필수 명령어 또는 SQL

항목 실행 조건
작업 대상 전환 대상 DB, Broker 구성, DB 역할, 열림 상태, 적용 상태
필요 권한 DGMGRL SYSDBA 또는 SYSDG, V$DATABASE는 관리자 조회 권한
바꿀 입력값 초기 Primary, Standby의 DB_UNIQUE_NAME 자리표시와 현재 역할
결과 해석 기존 성공 사례와 별도로 준비 검사, 오류 해소, 업무 재연결 결과는 기재 없음

#전환 전 확인

초기 Primary 서버의 DGMGRL (SYSDBA 연결)조회만 함
show configuration;
show database verbose '<INITIAL_STANDBY_UNIQUE_NAME>';

결과 해석: 실습에서는 구성 SUCCESS와 Standby의 Transport Lag, Apply Lag 0 seconds를 확인한 다음 Switchover를 제시함 이 외의 전환 가능 조건과 준비 상태 검사 명령은 해당 실습 절에 기재 없음

#Switchover와 전환 후 확인

초기 Primary 서버의 DGMGRL (SYSDBA 연결)인스턴스 또는 서비스 중단이 필요함
switchover to '<INITIAL_STANDBY_UNIQUE_NAME>';
DGMGRL (SYSDBA 연결, 전환 후)조회만 함
show configuration;
각 DB의 SQL*Plus (SYSDBA, 전환 후)조회만 함
select name, db_unique_name, database_role, open_mode
  from v$database;

결과 해석: 실습에서는 Switchover succeeded 응답, 구성 SUCCESS와 서로 바뀐 Primary, Physical Standby 역할을 기록함 SQL 결과는 새 Primary READ WRITE, 이전 Primary MOUNTED이며 DB_NAME과 DB_UNIQUE_NAME을 함께 표시함

#원래 역할로 복귀

새 Primary 서버의 DGMGRL (SYSDBA 연결)인스턴스 또는 서비스 중단이 필요함
switchover to '<INITIAL_PRIMARY_UNIQUE_NAME>';
DGMGRL (SYSDBA 연결, 복귀 후)조회만 함
show configuration;

결과 해석: 실습에서는 초기 역할로 돌아온 구성원 목록과 SUCCESS를 기록함

#Broker 상태별 확인 사항

Broker 상태 실습의 출력과 대응 안내 추가 확인 사항
SUCCESS 최초 구성, 전환, 복귀의 정상 예시 출력 현재 DB가 같은 상태인지는 확인 불가
WARNING 해당 상태일 때 SHOW DATABASE로 문제 항목을 확인하라는 안내 구체적인 출력과 원인별 분류는 기재 없음
ERROR WARNING과 같은 복구 안내만 제시 ERROR 고유 원인과 전환 중단, 재시도 판단 기준은 기재 없음
Primary 서버의 DGMGRL (SYSDBA 연결)조회만 함
show database '<STANDBY_UNIQUE_NAME>';

결과 해석:

실습에서는 적용이 멈춘 경우에 한해 다음 재개 명령을 제시함

Primary 서버의 DGMGRL (SYSDBA 연결, 적용 중지 확인 후)객체 또는 설정을 변경함
edit database '<STANDBY_UNIQUE_NAME>' set state='APPLY-ON';

결과 해석: 이 오류 보충 페이지에는 재개 명령의 성공 출력이나 이후 오류 해소 출력이 기재되어 있지 않음(확인 불가)

#구문과 옵션 설명

#역할 전환 준비 검사

DGMGRL (SYSDBA 또는 SYSDG)조회만 함
VALIDATE DATABASE VERBOSE <STANDBY_UNIQUE_NAME>;

결과 해석: 전환 준비, 전송, 적용 등 검사 항목을 읽는 명령이며 이 실습의 출력은 기재 없음

VALIDATE는 SHOW CONFIGURATION의 SUCCESS, WARNING 상태 출력과 형식이 다르므로 항목별 조치 필요 여부를 읽어야 함

#사용 조건과 주의사항

실습에서는 계속 실패하면 Primary에서 ARCHIVE LOG CURRENT를 두세 번 수행해 갭을 메우라고 적지만 갭 원인, 누락 로그 확인, 복구 완료 판단 절차는 없음

아카이브 반복을 일반 복구 절차로 적용할 수 없으며 WARNING, ERROR의 해결 여부는 확인 불가

Broker 기동 문서의 양쪽 APPLIED='YES' 최대 번호 비교는 조회 대상과 비교 조건이 없어 전환 안전성의 근거로 사용하지 않았음

ADG 실습에서는 구성 상태가 SUCCESS가 아니면 ADG 작업을 진행하지 말라고 적음

WARNING, ERROR면 먼저 해당 DB의 SHOW DATABASE와 함께 나온 오류를 확인하고 전송, 적용, 접속 조건을 구분함
지연 수치의 계산 시각이 오래됐으면 0이라는 값만으로 동기화 완료를 판정하지 않음
APPLY-ON은 적용을 켜는 요청이며 모든 오류의 원인을 없애는 복구 명령은 아님

SEO_HKabsumveritas@gmail.comBuilt with Claude Code & Codex

마지막 갱신 개인 학습 기록이며 운영 환경 적용 전 공식 문서 확인 필요

두 글자 이상 입력, 위아래 화살표로 이동하고 Enter로 열기