사내 후배님께서 사내 게시판에 올리신 아주 피가 되고 살이되는 유용한 지식이라 공유코자 올려봅니다.
===========================================================
이미 아시는 분이 계실지 모르지만 용기내서 올려 봅니다.
실수로 DB에 있는 데이터를 지운후 잘못 COMMIT를 날려 데이터를 복구하지 못해 난감한 경우 있으시죠?
그런때를 위해 조그마한 팁하나 가르쳐 드리겠습니다.
방법은 다음과 같습니다.
1) 예를 들어 TEST라는 테이블의 DKObjectID=001 인 데이터를 실수로 삭제했다면?
2) SELECT * FROM TEST as of timestamp ( systimestamp - interval '10' minute)
WHERE DKObjectID = 001
을 입력하여 지워진 데이터를 확인할 수 있습니다.
3) 해당 데이터를 엑셀이나 다른 문서로 저장하여 다시 Insert를 할 수도 있지만 좀더 간편한 방법으로는 다음과
같은 방법이 있습니다.
INSERT INTO TEST
( SELECT *
FROM TEST AS OF TIMESTAMP ( SYSTIMESTAMP - INTERVAL '1' MINUTE)
WHERE DKObjectID = 001
)
- 이상 초간단 실수로 커밋해서 지운 데이터 복구하는 방법이었습니다^^
그럼 수고하십시오.
-------------------------------
요기서부터는 오늘 응용해서 복구한 쿼리
update cduser x
set groupcode = ( SELECT groupcode FROM cduser as of timestamp ( systimestamp - interval '240' minute) where account = x.account);
===========================================================
이미 아시는 분이 계실지 모르지만 용기내서 올려 봅니다.
실수로 DB에 있는 데이터를 지운후 잘못 COMMIT를 날려 데이터를 복구하지 못해 난감한 경우 있으시죠?
그런때를 위해 조그마한 팁하나 가르쳐 드리겠습니다.
방법은 다음과 같습니다.
1) 예를 들어 TEST라는 테이블의 DKObjectID=001 인 데이터를 실수로 삭제했다면?
2) SELECT * FROM TEST as of timestamp ( systimestamp - interval '10' minute)
WHERE DKObjectID = 001
을 입력하여 지워진 데이터를 확인할 수 있습니다.
3) 해당 데이터를 엑셀이나 다른 문서로 저장하여 다시 Insert를 할 수도 있지만 좀더 간편한 방법으로는 다음과
같은 방법이 있습니다.
INSERT INTO TEST
( SELECT *
FROM TEST AS OF TIMESTAMP ( SYSTIMESTAMP - INTERVAL '1' MINUTE)
WHERE DKObjectID = 001
)
- 이상 초간단 실수로 커밋해서 지운 데이터 복구하는 방법이었습니다^^
그럼 수고하십시오.
-------------------------------
요기서부터는 오늘 응용해서 복구한 쿼리
update cduser x
set groupcode = ( SELECT groupcode FROM cduser as of timestamp ( systimestamp - interval '240' minute) where account = x.account);
'TECH > database' 카테고리의 다른 글
| 오라클과 NLS Characterset (0) | 2007/11/15 |
|---|---|
| 클라이언트에 NLS_LANG 레지스트리 설정하기 (0) | 2007/11/15 |
| 오라클 오류메시지 정리 (0) | 2007/11/13 |
| 초간단 데이터 복구... (0) | 2007/10/27 |
| mssql paging (0) | 2007/05/07 |
| 오라클 Export/Import (0) | 2006/11/16 |
이올린에 북마크하기
이올린에 추천하기