[오라클] UPDATE 후 COMMIT한 쿼리 특정 시간대로 복구하기

2022. 9. 14. 15:58· SQL

 

▶ 원인

PK가 2개인 테이블의 UPDATE문에 WHERE절을 1개만 지정했다

문제는 이걸 커밋하고 1시간 후에나 알게 된 것..... 내가 의도했던 것보다 많은 데이터가 바뀌었다.

검색해보니 대부분 UPDATE 복구는 10분 이내에 하는 방법이라 나와는 맞지않았다.

해서 다음을 위해 특정 시간대로 복구하는 쿼리를 기록한다.

 

 

 

-- 복구할 데이터 확인 ( 오늘 오전 8시 기준 )
SELECT *
FROM 테이블명 AS OF TIMESTAMP(TO_DATE('2022-09-14 08:00', 'YYYY-MM-DD HH24:MI:SS'))
ORDER BY 컬럼명
;

-- 현재 테이터 확인
SELECT *
FROM 테이블명
ORDER BY 컬럼명
;

ORDER BY는 없어도 되지만 데이터 확인을 위해 넣었다.

 

-- 복구할 데이터로 백업테이블 생성
CREATE TABLE 백업테이블명 AS
SELECT * FROM 테이블명 AS OF TIMESTAMP(TO_DATE('2022-09-14 08:00', 'YYYY-MM-DD HH24:MI:SS'))
;

-- 특정 시간대로 데이터 복구 ( SELECT 결과 UPDATE)
UPDATE 테이블명 A
SET (컬럼명1, 컬럼명2) = (SELECT 컬럼명1, 컬럼명2
						  FROM 백업테이블명 B
                          WHERE A.PK컬럼명1 = B.PK컬럼명1
                            AND A.PK컬럼명2 = B.PK컬럼명2)
;

--백업용테이블 제거
DROP TABLE 백업테이블명;

백업용 테이블을 생성하지 않고 UPDATE문 FROM절에 복구할 데이터를 넣는 방법도 있던데,

회사 오라클 버전이랑 맞지 않는지 오류가 떠서 백업용 테이블을 생성했다.

그리고 백업용 테이블의 SELECT 결과를 UPDATE 하는 방법으로 해결했다.

 

UPDATE, DELETE 쿼리 치기 전에는 꼭 WHERE절을 두 번 세번 체크하자ㅠㅠ

저작자표시 비영리 변경금지 (새창열림)

'SQL' 카테고리의 다른 글

[PostgresSQL] 컬럼명, 컬럼 코멘트로 테이블 검색  (0) 2024.06.05
[mysql] Enum 타입 사용의 장단점 및 대안  (0) 2024.04.12
[오라클] 테이블 백업 / 복사하기  (0) 2022.08.26
[Oracle] 특정 컬럼이 존재하는 테이블, 뷰, 코멘트 찾기  (2) 2022.05.12
[PostgresSQL] 시퀀스 (Sequence)  (0) 2022.01.24
'SQL' 카테고리의 다른 글
  • [PostgresSQL] 컬럼명, 컬럼 코멘트로 테이블 검색
  • [mysql] Enum 타입 사용의 장단점 및 대안
  • [오라클] 테이블 백업 / 복사하기
  • [Oracle] 특정 컬럼이 존재하는 테이블, 뷰, 코멘트 찾기
devkmee
devkmee
devkmee
devkmee
devkmee
전체
오늘
어제
  • 분류 전체보기 (40)
    • JavaScript & TypeScript (2)
    • vue.js (1)
    • react (0)
    • Java (4)
    • SQL (6)
    • DevOps (5)
    • Web (2)
    • Algorithm (10)
    • Git (2)
    • IDE (8)
    • 후기 (0)
      • [스터디] Go To Learn 2기 (0)
      • 컨퍼런스_세미나_밋업 (0)

블로그 메뉴

  • 홈
  • 태그
  • GitHub

공지사항

인기 글

태그

  • SQL #ORACLE #프로그래머스
  • ubuntu
  • 오라클 #프로그래머스 #LEVEL #WITH AS
  • 객체선택
  • intelij
  • 연습
  • 좌표계수정
  • 정렬
  • Vmare
  • DevOps
  • Thread
  • 레이어조인
  • 단축키
  • 조건문
  • jsconfig
  • HashMap
  • java
  • VSCode
  • 가상DB
  • ORACLE #프로그래머스
  • Generic
  • 공간조인
  • oracle
  • 이클립스
  • LIST
  • 가상RESTAPI
  • QGIS
  • tsconfig
  • Linux
  • map

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
devkmee
[오라클] UPDATE 후 COMMIT한 쿼리 특정 시간대로 복구하기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.