본문 바로가기

flashback version query

[오라클]플래쉬백(Flashback)을 통한 데이터 복구 -3 (TABLE LEVEL FLASHBACK, Flashback Transaction Query) 이번에는 플래쉬백(Flashback) 복구 방법 중에 테이블 복구에 관한 것을 다룰까 합니다. 로우 레벨 플래쉬백 복구 방법과 다른 점은 로우 레벨 플래쉬백은 다른 로우(ROW)에 영향을 주지 않고 해당 로우의 데이터를 복구합니다. 하지만 테이블 레벨 플래쉬백 복구 방법은 테이블에 있는 전체 로우에 대해서 어느 한 시점으로 복구하는 것이기때문에, 해당 테이블의 모든 로우의 데이터가 영향을 받게 됩니다. 우선적으로 작업을 할려는 테이블에는 'ROW MOVEMENT'가 'ENABLE' 되어 있어야 합니다. 다음과 같이 설정 가능하겠습니다. SQL> ALTER TABLE 테이블명 ENABLE ROW MOVEMENT; [실행화면] 이제 신나게 업데이트를 해볼까요? 다음 테이블에 작업을 합니다. 저는 1년, 2년.. 더보기
[오라클]플래쉬백(Flashback)을 통한 데이터 복구 -1 (ROW LEVEL FLASHBACK, Flashback Verision Query) 우선, 다음과 같이 연습할 테이블을 간단히 만듭니다. [실행화면] 그리고 나서 자료를 넣습니다. 저는 두개의 로우(ROW)를 입력했습니다. [실행화면] 커밋(commit)을 해준후 테이블을 확인합니다. 일본 국가에 속해있는 'ando'의 나이를 수정해 보겠습니다. [실행화면] 그리고 커밋을 해준후, 다시 테이블을 확인해서 업데이트가 이상없이 되었는지 확인해 봅니다. 자, 여기서부터가 플래쉬백을 통한 복구 과정입니다. 저는 방금 수정했던 'ando'의 나이를 이전 데이터로 돌리고 싶어합니다. 하지만 아무것도 모르고 단지 바뀌었다는 사실만을 알고 있습니다. 플래쉬백 버전 쿼리(Flashback Version Query)를 통해서 다음과 같이 변경이력을 탐색합니다. [실행화면] 보시게 되면 아래로부터가 변경된.. 더보기