본문 바로가기

Oracle/admin

UNDO, REDO, LOGMINER

Redo :
redo 는 미디어장애나 인스턴스 장애등에 대하여 복구를 위해 사용되어진다.
복구는 크게 불완전복구 와 완전복구로 나누어 지듯이  redo에는 변경되기 전 값과
변경된 후 값 모두가 저장된다. 그래서 사용자가 원하는 시점으로 되돌릴수 있게 해준다.
또 정전등으로 인하여 인스턴스 장애가 장애가 발생한경우 오라클은 자동으로 redo와 archive에 있는 정보를 가지고 인스턴스를 복구한다.

Undo :
oracle9i부터는 rollback이란 용어가 undo로 바뀌었다.
undo는 변경되기전 값만 저장한다. 따라서 사용자가 rollback을 하든가 문제가 생겨 자동 rollback할 경우 이 undo에서 정보를 읽어와 과거시점으로 되돌릴수 있게 해준다.
redo는 트랙젝션의 실패에 대해 복구를 위해 사용되는 반면 undo는 문장의 구성이나 영향을 뒤집기 위해 사용된다. redo와 달리 undo는 database 내부에 undo segments 에 저장된다.

Logminer :
로그마이너는 redo 와 archive를 가지고 분석하여 트랜젝션 or 사용자 or 시간대별로 database에 가해진 변경작업에 대해 추적할수 있다.
또한 sql_undo를 통하여 해당 작업에 대하여 취소를 할수 있도록 기능을 제공한다.

logminer로 가능한 것들

  • Database에 작성된 변경 사항들의 기록
  • 유형 (INSERT, UPDATE, DELETE, COMMIT/ROLLBACK, DDL 또는 INDEX 작업)
  • 그와 같은 변경이 발생하는 SCN(System Change Number)
  • 변경을 포함하는 트랜잭션 식별
  • 특정 트랜잭션이 커밋되는 SCN
  • 변경된 객체의 테이블 및 스키마 명칭
  • DML 또는 DDL 문을 발생시킨 사용자 정보
  • Redo 레코드들을 생성하는 "동등한"SQL을 나타낼 수 있는 재생성된 SQL(SQL_REDO)
  • 변경 사항의 실행 취소를 위해 필요한 SQL을 제공하는 재생성된 SQL(SQL_UNDO)
  • 'Oracle > admin' 카테고리의 다른 글

    Flashback Database  (0) 2015.09.14
    DB link  (0) 2015.09.14
    Logminer (로그마이너) 실행 절차  (0) 2015.09.14
    nls_char ,spfile 위치 확인  (0) 2015.09.14
    DB Buffer cache, Shared Pool 초기화  (0) 2015.09.14