Flashback Database 기능을 이용한 Rewind 복구 (=오라클 타임 머신 복구)
Oracle Flashback Database를 사용하여 전체 데이터베이스를 과거 시간으로 되감을 수 있습니다.
미디어 복구 와 달리 데이터베이스를 과거 상태로 되돌리려면 데이터 파일을 복원 할 필요가 없습니다.
지금부터 데이터베이스 시간을 돌려 장애를 복구하겠습니다.
먼저 FLASHBACK 기능을 활성화 합니다.
SQL> SHUTDOWN IMMEDIATE ; SQL> STARTUP MOUNT ; SQL> ALTER DATABASE FLASHBACK ON ; SQL> SHUTDOWN IMMEDIATE ; SQL> STARTUP ; SQL> SELECT NAME , FLASHBACK_ON FROM V$DATABASE ; |
이제 일반 유저 세션에서 장애 테스트 테이블과 현재 SCN 값을 확인 합니다.
이제 해당 테이블에 데이터 유실 장애를 발생 합니다.
다시 돌아오기 위하여 현재의 SCN 값을 조회 합니다.
이제 데이터베이스의 시간을 과거로 돌립니다.
SQL> SHUTDOWN IMMEDIATE ; SQL> STARTUP MOUNT ; RMAN> FLASHBACK DATABASE TO SCN <과거 SCN 번호> ; SQL> ALTER DATABASE OPEN READ ONLY ; |
이제 장애가 발생한 테이블을 조회 합니다.
이제 테이블을 조회 한 테이블을 백업 받아 놓습니다.
이제 다시 원래의 DB 시간으로 돌아 갑니다.
SQL> SHUTDOWN IMMEDIATE ; SQL> STARTUP MOUNT ; RMAN> FLASHBACK DATABASE TO SCN <현재 SCN 번호> ; SQL> ALTER DATABASE OPEN RESETLOGS ; |
RESETLOGS 로 오픈하면 현재로 다시 돌아 오게 됩니다.
이제 데이터 유실이 되어 장애 난 테이블을 다시 조회 합니다.
과거에 돌아가서 백업 받은 데이터를 복구 합니다.
마지막으로 장애 난 테이블을 조회하여 복구가 완료 되었는지 확인 합니다.