코드자료실/database
[oracle] delete data 복구
cocy
2013. 2. 12. 21:42
반응형
실수로 delete하고 커밋했을시,
오라클의 flash back이라는 기능을 통해 지운 데이터를 조회할 수 있다.
SELECT * FROM T_NAME
AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE);
1. Flashback Query : 특정시간 이전의 Data 에 대해서 검색할 때
-> UNDO Data 를 기준으로 검색
1) 과거의 데이터 값 조회
SELECT employee_id, salary FROM employees
AS OF TIMESTAMP t1
where emplooyee_id = 200
2) 특정 시험의 값을 이용하여 값을 수정 (서브쿼리 활용)
UPDATE employees SET salary =
(SELECT salary FROM employees
AS OF TIMESTAMP TO_TIMESTAMP
('2005-05-04 11:00:00', 'yyyy-mm-dd hh24:mi:ss')
WHERE employee_id = 200)
WHERE employee_id = 200
3) 기간을 정해서 검색 (VERSIONS BETWEEN)
SELECT versions_xid, salary FROM employees
VISIONS BETWEEN TIMESTAMP t1 AND t2
WHERE employee_id = 200;
2. Flashback Transcation Query : UNDO SQL을 조회하는 기능
반응형