본문 바로가기

빅데이터과정/WORKSHOP 2

#29_140723_WSHOP2_FLASHBACK ARCHIVE

728x90
# FLASHBACK ARCHIVE





  • Flashback Archive(Total Recall)


특정 테이블에 대한 변경이력정보를 1년 또는 2년 동안 즉 특정 기간동안 계속 저장하고 싶을 때 사용
undo tablespace 말고 별도의 테이블 스패이스를 따로 생성해서 이력정보를 저장하는 방식


구현 순서

1.     테이블 스패이스 생성

2.     flashback archive 를 관리할 유저를 생성

3.     위에서 생성한 유저로 flashback archive 생성

4.     flashback archive를 사용할 테이블을 지정




flashback archive 테스트


1.     SQL> alter system set undo_retention=1;

2.     SQL> create tablespace flash_tbs1
datafile '/home/oracle/flash_tbs01.dbf' size 100m;

3.     SQL> create user flash_admin
 identified by tiger
default tablespace flash_tbs1;

4.     SQL> grant flashback archive administer to flash_admin;

5.     SQL> grant resource, connect to flash_admin;

6.     SLQ> connect flash_admin/tiger

7.     SQL> create flashback archive flash1
     tablespace flash_tbs1
     retention 1 year;
# 1년동안 undo data를 저장한다

8.     SQL> grant flashback archive on flash1 to scott;

9.     SQL> connect scott/tiger

10.   SQL> alter table emp flashback archive flash1;
# emp 테이블에서 발생하는 변경 이력정보는 flash_tbs1 테이블스패이스에 1년동안 저장된다

11.   SQL> select * from user_flashback_archive_tables;


다시 emp 테이블을 flashback archive를 사용하지 않도록 하는 방법

SQL> alter table emp no flashback archive;
SQL> select * from user_flashback_archive_tables;
SQL> connect /as sysdba
SQL> alter system set undo_retention=900;


flashback을 할 때 주의할점

flashback 을 하려는 시점에 DDL문이 실행되어 있으면 flashback이 안된다. DDL문이 실행행 시점 후까지는 가능함



  • RESTORE POINT



restore point를 생성했으면 해당 restore point로 flashback을 할 수 있다
SQL> flashback database to restore point b4_load;


어떠한 일이 있어도 반드시 restore point로 flashback 할 수 있게 하는 방법
SLQ> create restore point before_upgrade
guarantee flashback database;


restore point 조회
SQL> select * from v$restore_point;


restore point 로 flashback database 테스트

1.     SQL> alter database flashback on;

2.     SQL> select flashback_on from v$database;

3.     SQL> create restore point before_upgrade
      guarantee flashback database;

4.     SQL> drop user scott cascade;

5.     SQL> shutdown immediate

6.     SQL> startup mount

7.     SQL> flashback database to restore point before_upgrade;

8.     SQL> alter database open resetlogs;

9.     SQL> connect scott/tiger