HeeLee_DBA
Flashback 본문
반응형
Flashback으로
사용자에 의한 장애(DDL, DML)를 빠르게 복구 할 수있다.
-- undo_retention 파라미터 설정값 이상 지난 데이터는 Flashback으로 복구가 안됨
Oracle undo_retention Default 설정은 900s로 되어있다.
1. Drop Table 복구
--FLASHBACK TABLE ~ TO BEFORE DROP
위의 문법을 사용하여 Recycle Bin에서 객체를 복구할 수 있다.
선택적으로 RENAME TO 절을 사용하면 복구할 때 테이블의 이름을 변경하여 복구할 수 있다. 1-1. 테이블 생성 및 삭제
CREATE TABLE TEST(v1 varchar2(12), v2 date);
INSERT INTO TEST VALUES('현재시간',sysdate);
DROP TABLE TEST;
1-2. RECYCLEBIN 확인
SELECT * FROM RECYCLEBIN;
1-2. TEST 테이블 삭제 후 TEST2 RENAME 복구
FLASHBACK TABLE TEST TO BEFORE DROP RENAME TO TEST2;
1-3. 인덱스는 별도로 복구해야 된다.
ALTER INDEX "BIN$UofUBMjYnkDgUOABLqNFXg==$0" RENAME TO PK_TEST;
시스템에서 생성된 이름은 큰따옴표로 감싸줍니다.
2. FlashBack 이용한 데이터 복구(시점)
2-1. 30분 이전의 해당 테이블의 데이터 조회
SELECT * FROM TEST AS OF TIMESTAMP ( SYSTIMESTAMP - INTERVAL '30' MINUTE);
2-2. 3시간 이전의 해당 테이블의 데이터 조회
SELECT * FROM TEST AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '3' HOUR);
2-3. 1일 이전의 해당 테이블의 데이터 조회
SELECT * FROM TEST AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' DAY);
2-4. 2분전의 데이터 복구
FLASHBACK TABLE TEST TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '2' MINUTE);
2-5. Row Movement 비활성화 오류시
ALTER TABLE TEST ENABLE ROW MOVEMENT;
반응형
'Oracle' 카테고리의 다른 글
Synonym - Private, Public 우선 순위 (4) | 2022.07.29 |
---|---|
JDBC - JNDI, 대용량 Batch 이중화 (1) | 2022.07.27 |
UNPIVOT - 가로데이터 세로로 출력하기 (1) | 2022.05.17 |
RMAN - Table 단위 시점 복원 (0) | 2022.05.14 |
ASM - Tablespace, Datafile 관리 (1) | 2022.05.13 |