ALTER DATABASE FLASHBACK ON; ALTER SYSTEM SWITCH LOGFILE; SELECT FLASHBACK_ON FROM V$DATABASE; -- ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=720 SCOPE=BOTH; -- SHOW PARAMETER DB_FLASHBACK_RETENTION_TARGET -- SELECT FLASHBACK_SIZE, ESTIMATED_FLASHBACK_SIZE FROM V$FLASHBACK_DATABASE_LOG; |
|
{}
Failover 테스트를 수행한 후 원복을 수월하게 하기 위해서 flashback을 활성화시킵니다.
dgmgrl sys/[sys 계정 암호]@[standby 네트워크 서비스명] |
|
Primary에서 standby로 switchover하기 위해 DGMGRL로 접속합니다.
FAILOVER TO [standby 글로벌 DB명]; -- 또는 강제로 Primary 정지 |
|
Failover 명령으로 standby로 데이터베이스가 failover 되도록 작업을 수행합니다.
SHOW CONFIGURATION; SHOW DATABASE [primary 글로벌 DB명]; SHOW DATABASE [standby 글로벌 DB명]; |
|
Failover가 정상적으로 완료되었는지 확인합니다.
기존의 Primary는 disabled로 복구가 필요한 상태입니다.
SELECT db_unique_name, open_mode, database_role, switchover_status FROM v$database; |
|
각 데이터베이스의 상태를 살펴보면 모두 primary로 되어 있는 것을 확인할 수 있습니다.
Failover 이전의 primary는 현재 비정상적이므로 standby에서의 switchover는 now allowed 상태로 되어 있습니다.
REINSTATE DATABASE [primary 글로벌 DB명]; SHOW CONFIGURATION; SHOW DATABASE [primary 글로벌 DB명]; |
|
Flashback Database가 활성화 되어 있었다면, reinstate 명령어로 간단하게 복구할 수 있습니다.
SELECT db_unique_name, open_mode, database_role, switchover_status FROM v$database; |
|
데이터베이스의 상태를 살펴보면 primary와 standby의 역할이 정상으로 되어 있는 것을 확인할 수 있습니다.
SWITCHOVER TO [primary 글로벌 DB명]; |
|
복구가 된 primary로 switchover를 수행할 수 있습니다.
SHOW CONFIGURATION; SHOW DATABASE [primary 글로벌 DB명]; SHOW DATABASE [standby 글로벌 DB명]; |
|
정상적으로 switchover 되었는지 확인할 수 있습니다.
SELECT db_unique_name, open_mode, database_role, switchover_status FROM v$database; |
|
원래의 상태로 복구된 것을 확인할 수 있습니다.