반응형

Oracle 로고

이번 글에서는 오라클(Oracle)에서 데이터 롤백하는 방법에 대해 기록한다. 이걸 왜 하냐고? 사용자 테이블에서 UPDATE를 하다가 쿼리 잘못 짜서 모든 사용자 이름을 내 이름으로 업데이트를 쳐버렸다. 진짜 쳐맞아야 한다. 나란 놈. 근데, 다행히도 개발서버라서 다행이지, 운영 서버였으면 바로 접시에 물 담고 코박아야 한다.


목차

1. 데이터 롤백하는 방법

1. 데이터 롤백하는 방법

데이터를 롤백하는 방법은 정말 간단하다. 아래의 쿼리 형식에 맞게 실행을 하면 된다.

SELECT * 
  FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '시간' MINUTE);

 

근데, 오라클에서 설정된 시간이 정해져 있기 때문에, 조졌다 싶으면 바로 이 쿼리 써서 복구를 시켜야 한다. 제일 좋은 방법은 이 상황을 만들지 않는 것이다.

 

진짜, 나처럼 멍청하면 위의 쿼리가 너무 간절해 지는데, 오늘 이 경험으로 나는 대가리 박고 있어야 한다. 물론, 다음에 또 똑같은 상황이 발생하면 안되겠지만, 발생한다면 바로 블로그 켜서 이것부터 찾아야겠다.

 

실질적으로 사용하는 쿼리는 아래와 같다.

SELECT * 
  FROM USERTABLE AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '1' MINUTE);

 

진짜 다시 한 번 말하지만, 진짜 조졌다 싶으면 바로 사용해야 한다. 안그러면 담당하는 사람에게 욕은 물론 폭행까지 당할 수 있을 것 같다.


 

 

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기