본문 바로가기

복구

[오라클]플래쉬백(Flashback)을 통한 데이터 복구 -4 (TABLE LEVEL FLASHBACK, 휴지통(RECYCLE BIN)) 오라클 10g 버전 이후부터 도입하게 된 휴지통 기능은 윈도우의 그것과 비슷한 기능을 합니다. 비록 지웠다고는 하나, 다시 되살릴 수 있는 것이죠. 그래서 혹시나 모를 데이터의 손실도 방지합니다. 사용방법은 테이블 드롭을 하게 되면 휴지통(Recycle Bin)에 위치하게 되는데, 이때 이름만 바꿔서 위치하게 됩니다. 물론 그자리에 다른 테이블이나 객체가 그 용량만큼 다시 자리를 잡을 수 있지만, 그렇게 되면 앞으로 하게될 플래쉬백 복구 기능을 사용하지 못합니다. 휴지통 기능을 사용하는 방법은 다음과 같습니다. 전 글에서 썻던 ftest 테이블을 이용해서 진행하겠습니다. [실행화면] : 인덱스를 만듭니다. [실행화면] : 해당 테이블을 DROP시킵니다. [실행화면] : DROP후 테이블을 확인합니다. 보.. 더보기
[오라클]플래쉬백(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)를 통해서 다음과 같이 변경이력을 탐색합니다. [실행화면] 보시게 되면 아래로부터가 변경된.. 더보기
[오라클] 리두 로그 파일(Redo Log File) -2 리두 로그 파일 -1 에 이은 두번째 글입니다. 다음의 보시는 그림은 LGWR 이 디스크에 리두로그 파일을 쓸때의 모습입니다. LGWR는 두개의 디스크에 리두로그 파일을 기록하는데요. 위에 보시듯 각 동일한 그룹을 각각의 디스크에 나눕니다. 그리고 멤버는 나뉘어진 그룹에 각각 담기구요. 앞 글에서 각 그룹의 멤버는 동일한 로그 기록을 저장한다고 했죠? LGWR는 리두로그 파일을 디크스에 쓸때 두 디스크 동시에 멤버로서 기록함으로써 에러시에 한쪽이 문제가 있어도 다른 한쪽의 디스크가 복구를 가능케 합니다. 그리고 각 그룹의 멤버가 용량이 다 차서 더 이상 리두로그 파일을 기록할 수 없을때 다음 리두로그 그룹으로 리두로그 파일을 기록하게 됩니다. 이때 리두로그 그룹간의 이동을 로그 스위치(Log Switch.. 더보기
[오라클] 리두 로그 파일(Redo Log File) -1 데이터베이스 시스템인 오라클에서 복구시 사용되는 것들이 있는데요. 그중에 하나가 리두로그 파일입니다. 리두로그 파일은 데이터베이스, 즉 오라클 에러 발생시에 데이터 복구를 위한 로그파일인데요. 이 리두로그 파일은 DML 작업시에 기록이 되게 됩니다. DML 작업시에 시스템에 변경되는 작업의 내용을 기록하는 것이죠. 이것을 통해서 문제가 생기면 이 파일을 이용해서 작업순서에 맞게 복구를 하게 되는 겁니다. 먼저, DML 작업으로 생성되는 리두로그는 SGA에 위치하게 되는데 SGA는 System Global Area로서 오라클 데이터 서버가 구동을 하게 되면 해당 인스턴스 내에서 생기게 되는 메모리 영역입니다. 이 메모리 영역안에 리두로그가 구성이 되는 것이구요. 그리고 메모리 안의 그 영역을 리두로그 버퍼.. 더보기