- DB 환경
- Primary DB : CHOKI, Standby DB : RCHOKI
DB 구분 | DB UNIQUE NAME |
Primary DB | CHOKI |
Standby DB | RCHOKI |
- 사전 점검 (Primary, Standby)
- Primary DB 인 경우 SWITCHOVER_STATUS = "TO STANDBY" 인지 확인
- Standby DB 인 경우 SWITCHOVER_STATUS = "NOT ALLOWED" 인지 확인
- Standby DB 경우 Primary가 switchover(Primary 🔜 Standby) 된 후에는 "TO PRIMARY" 로 바뀜 (아래 설명)
set lines 555 pages 1000
col database_role for a20
col SWITCHOVER_STATUS for a30
SELECT DATABASE_ROLE, SWITCHOVER_STATUS FROM V$DATABASE;
-- PRIMARY
DATABASE_ROLE SWITCHOVER_STATUS
----------------- ---------------------
PRIMARY TO STANDBY
-- STANDBY
DATABASE_ROLE SWITCHOVER_STATUS
----------------- ---------------------
PHYSICAL STANDBY NOT ALLOWED
- Primary DB(CHOKI) Switchover 수행
- Primary DB 에서 Standby DB 로 전환(Switchover) 수행
$ sqlplus / as sysdba
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO STANDBY WITH SESSION SHUTDOWN;
Database altered.
- Standby DB(RCHOKI) Switchover 수행
- Standby DB에서 Primary DB로 전환(Switchover) 수행
- SWITCHOVER_STATUS = "TO PRIMARY" 상태 확인
- Databaes 기동 - switchover 후 Mount 상태이므로 alter database open 명령어로 OPEN 수행
$ sqlplus "/as sysdba"
SQL>
SQL> set lines 555 pages 1000
SQL> col database_role for a20
SQL> col SWITCHOVER_STATUS for a30
SQL> SELECT DATABASE_ROLE, SWITCHOVER_STATUS FROM V$DATABASE;
DATABASE_ROLE SWITCHOVER_STATUS
-------------------- ------------------------------
PHYSICAL STANDBY TO PRIMARY
SQL>
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN;
Database altered.
SQL>
SQL> ALTER DATABASE OPEN;
Database altered.
SQL>
- ADG Apply 적용
- Switchvoer 이후로 역활 변경 됨.
- 다시 mrp 프로세스 기동하여 logfile 전송 및 동기화 수행
Switchover 이 전의 DB 환경
DB 구분 | DB UNIQUE NAME |
Primary DB | CHOKI |
Standby DB | RCHOKI |
Switchover 이 후의 DB 환경
DB 구분 | DB UNIQUE NAME |
Primary DB | RCHOKI |
Standby DB | CHOKI |
-- DB 기동
startup
-- MRP 프로세스 기동
alter database recover managed standby database using current logfile disconnect from session;
-- MRP 프로세스가 기동되었는지 확인
select thread#, sequence#, process, client_process, status, blocks
from v$managed_standby
where process = 'MRP0';
-- DataGuard 상태 확인 - 데이터 동기화 Gap 확인
col value for a27
col name for a30
select name, value, UNIT from v$dataguard_stats;
- 원복 Switchover
- 다시 복귀 시 위에서 수행한 대로 그대로 서버만 바꿔서 수행하면 됨.
- RCHOKI (현 Primary DB) : TO STANDBY 명령어로 STANDBY 로 전환(SWITCHOVER) 수행
- CHOKI(현 Standby DB) : TO PRIMARY 명령어로 PRIMARY로 전환(SWITCHOVER) 수행
- RCHOKI (Standby로 전환된 DB) : log apply 전송 및 적용을 위해 mrp 기동
- 다시 복귀 시 위에서 수행한 대로 그대로 서버만 바꿔서 수행하면 됨.
반응형