ORA-16810 / ORA-16826
상황
- Redo는 전달되지만 MRP가 중단된 상태
장애 재현 (Standby)
Standby Database Apply Stopped:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
또는
(MRP 자동 기동 안 됨)
장애 확인
Standby:
SELECT process, status FROM v$managed_standby;
PROCESS STATUS
--------- ------------
ARCH CONNECTED
DGRD ALLOCATED
DGRD ALLOCATED
ARCH CONNECTED
ARCH CONNECTED
ARCH CONNECTED
RFS IDLE
RFS IDLE
8 rows selected.
👉 MRP0 없음
Alert Log 확인(명령으로 Apply Off 했을때):
alter database recover managed standby database cancel
ORA-1665 signalled during: alter database recover managed standby database cancel...
Broker 사용 시:
DGMGRL> show configuration;
Configuration - dg_orcl
Protection Mode: MaxPerformance
Members:
orcl - Primary database
orcl_stby - Physical standby database
Error: ORA-16810: multiple errors or warnings detected for the member
또는 ORA-16826: apply service state is inconsistent
Fast-Start Failover: Disabled
Configuration Status:
ERROR (status updated 50 seconds ago)
👉 ORA-16810 / ORA-16826 확인 가능
복구
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
재확인:
SELECT process, status FROM v$managed_standby;
💡인사이트
Standby Database Apply를 중지할때 SQL, DGMGRL 두 가지를 통해 Apply를 중지 시킬수 있음
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
DGMGRL> EDIT DATABASE {STANDBY_NAME} SET STATE='APPLY-OFF';
SQL, DGMGRL 두 가지 모두 MRP() 프로세스는 꺼진 상태로 나옴
SQL> select process, status from v$managed_standby;
PROCESS STATUS
--------- ------------
ARCH CLOSING
DGRD ALLOCATED
DGRD ALLOCATED
ARCH CLOSING
ARCH CLOSING
ARCH CLOSING
RFS IDLE
RFS IDLE
RFS IDLE
9 rows selected.
❗여기서 문제,
DGMGRL에서 Standby Apply를 분명히 APPLY-OFF로 변경했는데,
show configuration 결과는 여전히 SUCCESS로 표시되어 처음에는 “Apply가 꺼졌는데 왜 정상이야?”라는 생각이 들었음
DGMGRL> show configuration
Configuration - dg_orcl
Protection Mode: MaxPerformance
Members:
orcl - Primary database
orcl_stby - Physical standby database
Fast-Start Failover: Disabled
Configuration Status:
SUCCESS (status updated 2 seconds ago)
이유를 찾아보니
DGMGRL을 통해 Apply를 OFF 하는 것은 장애 상황이 아니라, 사용자가 의도적으로 상태를 변경한 것
Broker는 이 변경을 정확히 인지하고 구성 정보를 정상적으로 갱신됨
즉,
- Apply OFF 상태 자체는 비정상이 아님
- Broker가 알고 있는 상태와 실제 DB 상태가 일치
- Primary / Standby 역할 관계에도 문제 없음
이 조건들이 모두 만족되기 때문에
show configuration에서는 SUCCESS가 출력된다는걸 알게 되었음.
'🗄️ DB_이야기 > # 🛢️ Oracle' 카테고리의 다른 글
| [Oracle] ORA-16816: incorrect database role (1) | 2026.01.27 |
|---|---|
| [Oracle] Data Guard 점검 & 운영 명령어 정리 (1) | 2026.01.20 |
| [Oracle] Data Guard 상태 및 장애 분석 (0) | 2026.01.18 |
| [Oracle] Data Guard 구성 & 운영 실습 정리 (0) | 2026.01.18 |
| [ORACLE] Data Guard Failover (0) | 2026.01.16 |