반응형
/********************************************************************************************
-- Title : [10g] 플래쉬백 Database Level - ver.dbrang
-- Reference : dbrang.tistory.com
-- Key word : flashback 데이터베이스레벨
********************************************************************************************/

/************************************************
-- Database Level : 플래쉬백 모드 오픈
************************************************/
-- DB 셧다운
SQL> shutdown immediate;

-- 마운트
SQL> startup mount
;
-- 아카이브 모드 설정(이미 되어 있다는 PASS)
-- 아카이브 파라미터 설정 불필요? 충돌나서?
SQL> alter database archivelog;

-- 플래쉬백 모드 설정
-- 플래쉬백 끌때는 off로
SQL> alter database flashback on;

-- 과거 복구 시간 설정
SQL> alter system set db_flashback_retention_target=60;

-- 오픈
SQL> alter database open;

-- 아카이브 모드 & 플래쉬백 모드 확인
SQL> archive log list;
SQL> select name, flashback_on from v$database;
SQL> select * from v$flashback_database_log;

-- 로그 스위치
SQL> alter
 system switch logfile;
-- 로그 스위치 확인
arhive_log_desc와 db_recovery_file_dest에 동시에
아카이브 파일이 쌓인다.
 

/************************************************
-- Database Level : 플래쉬백 데이터베이스 복구
-- MOUNT상태에서 진행(제대로 된 테스트는 나중에)
************************************************/
-- 기본 문법
SQL> flashback database to scn <scn_number>;
SQL> flashback database to timestamp (sysdate - <시간>);
SQL> flashback database to timestamp 'YYYY-MM-DD HH:MI:SS';
SQL> FLASHBACK DATABASE TO TIME = (20051210 12:00:00', 'YYYYMMDD HH24:MI:SS');
SQL> FLASHBACK DATABASE TO TIMESTAMP (SYSDATE -1/24);

RMAN> FLASHBACK DATABASE TO SCN 56552;
RMAN> FLASHBACK DATABASE TO SEQUENCE=224 THREAD=1;

-- flashback database 후 로그 리셋
SQL> startup mount
SQL> flashback database to timestamp(sysdate-5/3600);
SQL> alter database open resetlogs;

-- 참고
timestamp(sysdate - 1) : 현재 일시보다 1일 전
timestamp(sysdate - 7) : 현재 일시보다 7일 전
timestamp(sysdate - 1/24) : 현재 일시보다 1시간 전
timestamp(sysdate - 9/24) : 현재 일시보다 9시간 전
timestamp(sysdate - 5/3600) : 현재 일시보다 5분 전
반응형

+ Recent posts