DB를 특정 시점(time, scn, log sequence, restore point)으로 되돌리기 위해 flashback database 사용

 

1. 선결조건

  1) archive log 모드

  2) fast recovery area 지정

  3) db flashback logging enable : alter database flashback on

     ( V$DATABASE.FLASHBACK_ON 필드로 on 되었는지 확인 가능)

 

2. flashback 복구

  1) scn 확인

    SELECT OLDEST_FLASHBACK_SCN, OLDEST_FLASHBACK_TIME V$FLASHBACK_DATABASE_LOG;

  2) 특정 시점으로 복구

    rman > SHUTDOWN IMMEDIATE

            > STARTUP MOUNT

            > FLASHBACK DATABASE TO SCN 411010;  (위 1에서 확인한 SCN으로)

            > ALTER DATABASE OPEN RESETLOGS;

  3) 특정 restore point로 복구

    대량 작업 또는 변경 restore point 생성

    sql    > CREATE RESTORE POINT before_update GUARANTEE FLASHBACK DATABASE;

    rman >  LIST RESTORE POINT ALL;   

            > SHUTDOWN IMMEDIATE

            > STARTUP MOUNT

            > FLASHBACK DATABASE TO RESTORE POINT 'BEFORE_UPDATE';

            > ALTER DATABASE OPEN RESETLOGS;

    restore point 확인

    SELECT name, guarantee_flashback_database, pdb_restore_point, con_id FROM v$restore_point;

 

 

'RDB > Oracle' 카테고리의 다른 글

enq: fb - contention 완화  (0) 2020.06.03
oracle 18c rman 백업 /복구  (0) 2020.04.24
oracle rman 복구  (0) 2020.04.07
오라클 rac disk 백업 복구  (0) 2020.01.28
oracle spm 사용한 sql plan 이관  (0) 2019.11.22

+ Recent posts