SSISO Community

시소당

[Oracle] 테이블 하나만 복원하기. DataBase

연동 테스트를 하다가.. 특정 테이블의 값을 이리저리 고치면서 하다 보니..

 

원래의 값을 잃어버리게 되었다.. 띠불 - _-;

 

잘 되던건데.. 괜히 데이터를 수정해서..  ㅠ.ㅠ

 

다행히 백업본은 있다.  그럼 어떻게 내가 필요한 테이블 하나만 복원할 수 있을까나?

 

imp/exp를 통해.. 백업과 복원을 아는 당신이라면 이것도 같이 알아두도록 하자.

 

imp 치고.. 주욱주욱 내려가다가 (전부 엔터)

 

(.. 중략)

테이블(T) 또는 분할(T:P)명을 입력하십시오. 널 목록은 사용자의 모든 테이블을 의미
합니다
테이블(T) 또는 분할(T:P)명을 입력하거나 완료 시에는 .을 입력하십시오 KICEEDMS

테이블(T) 또는 분할(T:P)명을 입력하거나 완료 시에는 .을 입력하십시오 .

. KICE 객체를 KICE(으)로 임포트하는 중입니다
. KICE 객체를 KICE(으)로 임포트하는 중입니다
. . 테이블                     "KICEEDMS"(를)을 임포트 중        118 행이 임포트
되었습니다
임포트가 경고 없이 정상적으로 종료되었습니다.

 

생각외로 간단하다 'ㅡ'

 

하지만 더 간단히 이렇게도 할 수 있다.

 

imp kice/kice file=kice.dmp FROMUSER=kice tables=(KICEEDMS)

=> imp 유저아이디/패스워드 file=덤프파일이름 FROMUSER=덤프테이블유저이름 tables=(필요한테이블 여러개일때에는 , 로 )

 

흠.. 안타까운것은 테이블을 복원할려고 하면.. 복원할 테이블은 삭제해두어야 한다는 거다 그렇지 않으면 이미 있는 객체라고 해서 오류만 난다.

 

이럴때 혹시 모르니 가볍게 임시테이블 하나 만들어 놓고 복원할 테이블 drop 해주시면 되겠다.

CREATE TABLE KICEEDMS2 as ( SELECT * FROM KICEEDMS)

DROP TABLE KICEEDMS;

 

import시 오류날때에는 아래 포스팅을 참조하면 좋을 듯.

http://blog.naver.com/zzz6375?Redirect=Log&logNo=20003091188


1835 view

4.0 stars