메뉴 건너뛰기

조회 수 9542 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

모 거래처에서 의뢰를 받아서 Batch 처리 프로그램을 개발하던 중...

테이블을 생성하고 데이터를 조작 해야 할 일이 있어서 실 서버의 특정 테이블을 개발서버로 옮겨서 작업 하기로 했다.

 

실무 담당자의 양해를 구하고 개발이 끝나면 삭제하는 조건으로 실서버에서 원하는 테이블만 추출해서 회사내의 개발 서버로 옮겨서 imp 했더니 아래와 같은 에러가 발생 했다. 

IMP-00010: 엑스포트 파일이 유효하지 않고, 헤더가 검증에 실패했습니다
IMP-00000: 임포트가 실패로 끝났습니다


 

구글링 해보니 dump 받은 파일을 FTP로 전송 할 때 Binary 모드가 아니고 Ascii 모드로 전송하면 저런 에러가 발생 한다는 블로그가 검색 되었지만... 나의 경우는 이문제가 아니고 오라클 버전의 차이때문에 발생하는 문제 였다.

 

운영서버의 오라클은 11g, 회사 내부의 개발 서버가 Windows 2008 Server라서 11g 64bit 설치중 에러가 발생해서 10g로 설치 했었다.

즉 11g에서 exp 명령으로 받은 dump 파일을 10g에서 imp명령으로 올릴 경우 저런 에러가 발생 하는 것 같다. (반대의 경우는 괜찮 겠지...)

 

exp또는 imp 명령의 인자로 버전을 지정 할 수도 있다고 하던데... 귀찮아서 패스

개발 서버의 exp 명령으로 실서버에 접속하여 덤프 받아서 개발서버에 import 하기로 했다.

 

앞서 했던 방법이랑 동일 한 방법 같지만 에러가 발생한 방법은 11g 오라클 클라이언트로 11g에 접속 해서 DB를 덤프 받아서 10g서버의 오라클 클라이언트로 10g서버에 접속해서 import 하는 방법이라면 후자는 10g의 오라클 클라이언트를 이용하여 11g 서버에 접속해서 export 받고 10g의 오라클 클라이언트를 이용하여 10g 서버에 import 하는 것으로 말장난 같지만 확연히 다른 방법이다.

 

 

1. TNS정보 추가

 

10g의 오라클 클라이언트에서 11g를 접속 할 수 있도록 tnsnames.ora 파일에 11g의 TNS정보 추가

 

 

 

2. sqlplus로 접속 테스트

 

sqlplus userid=USERID/PASSWORD@TNSNAME

 

 

 

3. 10g에서 export

 

exp userid=11g_USERID/11g_ASSWORD@11g_TNSNAME file='DUMP_FILE_NAME.dmp' tables=(11g_TABLE1_NAME,11g_TABLE2_NAME)

어찌 하다보니 import 화면을 캡쳐하지 못했다.

 

 

 

4. 10g 에서 import

 

imp userid=10g_USERID/10g_PASSWORD file='DUMP_FILE_NAME.dmp' tables=10g_TABLE_NAME commit=y ignore=y

화면에 보이는 IMP-00017, IMP-00003, ORA-01917등의 오류는 11g에서 받아온 테이블에 CONSTRAINTS, USER 등이 10g에는 존재하지 않아서 발생한 오류로 나의경우 무시해도 상관 없는 것들 이었다.

 

 

5. TOAD로 10g에 접속 해서 확인하니 모두 잘 옮겨짐 

 

 

 

 

6. 참고

 

10g에 import 하기전에 11g에서 옮길 테이블의 동일한 빈테이블을 10g에 생성한 후 작업 했다. 예전의 기억으로 테이블이 없는 경우 에러가 발생했던 기억이...

 

toad 같은 툴에서 테이블 스크립트를 복사해서 그대로 생성해 주면 끝.


List of Articles
번호 제목 날짜 조회 수
61 쿼리 파싱 시간 측정 - query parsing time 2016.12.08 7759
60 SQL 작성을 위한 25가지 원칙 2016.12.08 6949
59 엑셀데이타를 DB 에 저장. Excel => oracle db restore 2016.12.08 8797
58 오라클 웹로직 12.1.3 설치 방법 file 2016.09.21 9958
57 오라클 암호를 분실한 경우 접속 방법 2016.09.21 7329
56 자동증가 SEQUENCE 생성 2016.09.12 7309
55 테이블 생성(다중 PK) 2016.09.12 8033
54 PK 수정하기 2016.09.12 7114
53 초 이하 단위 시간 얻어오기 2016.09.12 7953
52 V$SESSION 테이블 활용 2016.09.12 8159
51 Database link, Synonym How to 2016.09.12 7549
50 아카이브 백업 / 복구 2016.09.12 7013
49 cron을 이용한 Oracle 백업 2016.09.12 8095
48 시퀀스 초기화 프로시저 2016.09.12 8970
47 TOAD에서 Explain Plan 보기 2016.09.12 8287
46 Create SYNONYM 2016.09.12 7490
45 DB Link How-To 2016.09.12 7070
» 다른 버전의 오라클 import, export 하기 file 2016.09.12 9542
43 제로보드 reg_date 필드 date 형으로 변환하기 2016.09.12 7227
42 오라클 인스턴스 클라이언트(oracle instant client) 2016.09.12 11030
Board Pagination Prev 1 2 3 4 5 6 7 Next
/ 7

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved