Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- R
- 프로그래머스
- level 1
- level 2
- Oracel
- sklearn
- 머신러닝
- 카카오
- 빅분기
- Numpy
- 튜닝
- 실습
- 오라클
- 빅데이터 분석 기사
- 실기
- 코딩테스트
- seaborn
- python3
- 파이썬
- oracle
- 알고리즘
- Kaggle
- 데이터 분석
- pandas
- Python
- matplotlib
- SQL
Archives
- Today
- Total
라일락 꽃이 피는 날
[Oracle] Flashback 기술 1 - Query / Table 본문
728x90
database 에서 발생하는 장애의 유형
1. data 가 들어있는 data file 이 손상되는 경우
예) 한참 오라클을 사용하고 있는 중에 갑자기 정전이 되거나 컴퓨터를 비정상 종료했을 때 발생
2. 사용자 에러 (사람의 실수)
예) 실수로 table 을 drop 하거나 데이터를 지우거나 데이터를 다른 데이터로 갱신하거나 하는 등의 실수
이런 사건에 대비하기 위해서 평상시에 해야 할 것
1. 다루고 있는 테이블 중에 중요한 테이블은 백업
create table emp_backup
as
select *
from emp;
2. flashback 기술을 이용해서 혹시 모를 장애에 대처
- flashback query : 과거의 데이터를 검색하는 기술
- flashback table : 테이블 자체를 과거로 되돌리는 기술
- flashback drop : 휴지통 속에 있는 테이블을 복구하는 기술
- flashback version query : 특정 테이블이 과거부터 현재까지 어떠한 변경 작업으로 변경되어 왔는지를 확인하는 기술
- flashback transaction query : 특정 테이블을 과거로 되돌리기 위해서 어떤 insert, update, delete 문이 필요한지를 보여주는 기술
예제 1-1. 현재 시간을 확인
-- 22/06/09 16:17:10
select systimestamp from dual;
예제 1-2. emp 테이블을 delete 로 다 지우고 commit
delete from emp;
commit;
예제 1-3. emp 테이블 데이터를 지우기 전의 상태를 확인하고 백업 테이블 생성
create table emp_before_5m
as
select *
from emp
as of timestamp to_timestamp('22/06/09 16:17:10', 'RR/MM/DD HH24:MI:SS');
예제 1-4. emp_before_5m 에 있는 데이터를 emp 테이블로 입력
insert into emp
select *
from emp_before_5m;
예제 2-1. emp 테이블을 delete 로 다 지우고 commit
delete from emp;
commit;
예제 2-2. 현재 시간을 확인
-- 22/06/10 09:58:55
select systimestamp from dual;
예제 2-3. emp 테이블이 flashback table 이 가능한지 확인
select table_name, row_movement
from user_tables
where table_name = 'EMP';
예제 2-4. emp 테이블을 flashback 이 가능한 상태로 변경
alter table emp enable row movement;
예제 2-5. 데이터를 지우기 3분 전으로 emp 테이블 되돌리기
flashback table emp to timestamp
to_timestamp('22/06/10 09:55:55', 'RR/MM/DD HH24:MI:SS');
728x90
'프로그래밍 > Oracle' 카테고리의 다른 글
[Oracle] 머신러닝 - 미국인 의료비 데이터 (0) | 2022.06.12 |
---|---|
[Oracle] Flashback 기술 2 - Drop / Version Query (0) | 2022.06.10 |
[Oracle] Sequence (시퀀스) (0) | 2022.06.09 |
[Oracle] SQL 튜닝 (0) | 2022.06.09 |
[Oracle] Index (인덱스) (0) | 2022.06.09 |