프린트 하기

OS환경 : Oracle Linux4.8(64bit)


DB 환경 : Oracle Database 9.2.0.4


에러 : ORA-00922: missing or invalid option

dump 받아온 데이터 IMPORT중 에러 발생

1
2
3
4
5
6
7
8
9
10
IMP-00003: ORACLE error 922 encountered 
ORA-00922: missing or invalid option 
IMP-00017: following statement failed with ORACLE error 922
"CREATE TABLE "SW_ADDRS" ("CUST_NO" NUMBER(10, 0) NOT NULL ENABLE, "ADDRS_NO
"" NUMBER(10, 0) NOT NULL ENABLE, "ADDR_TYPE" VARCHAR2(30), "OFFICER" VARCHA" 
"R2(30), "POST_NO" CHAR(6), "POST_SQ" CHAR(2), "ADDR" VARCHAR2(150), "DDD" C" 
"HAR(4), "OFF_NO" CHAR(4), "TEL_NO" CHAR(4), "REG_DT" CHAR(14), "UPD_DT" CHA" 
"R(14)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 52428" 
"800 FREELISTS 1 FREELIST GROUPS 1) TABLESPACE "TS_SALESWORKS_DATA_01" LOGGI" 
"NG NOCOMPRESS" 



해결 방법 : 하위버전의 export/import 유틸리티를 사용해서 작업한다.

대부분 버전 간의 쿼리문 호환이 되지 않아 발생하는 문제로, 상위버전에서 쿼리를 export 했는데, 하위버전에서 import 했을 경우 그 쿼리를 인식하지 못할 경우가 많음

이럴 때는 하위 버전의 export 툴로 상위 버전의 데이터를 export 해야 하지만, 그럴 환경이 되지 못할 경우 그냥 하위버전에서 지원하지 않는 쿼리는 수정하거나 사용하지 않는 테이블이라면 지워버리는게 간단하게 해결할 수 있는 방법임


위 imp 구문에서 에러가 난 테이블 생성문

1
2
3
4
5
6
7
"CREATE TABLE "SW_ADDRS" ("CUST_NO" NUMBER(10, 0) NOT NULL ENABLE, "ADDRS_NO
"" NUMBER(10, 0) NOT NULL ENABLE, "ADDR_TYPE" VARCHAR2(30), "OFFICER" VARCHA" 
"R2(30), "POST_NO" CHAR(6), "POST_SQ" CHAR(2), "ADDR" VARCHAR2(150), "DDD" C" 
"HAR(4), "OFF_NO" CHAR(4), "TEL_NO" CHAR(4), "REG_DT" CHAR(14), "UPD_DT" CHA" 
"R(14)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 52428" 
"800 FREELISTS 1 FREELIST GROUPS 1) TABLESPACE "TS_SALESWORKS_DATA_01" LOGGI" 
"NG NOCOMPRESS" 

위쿼리를 정렬 해서보니 중간중간에 "" 라는 글자가 많았는데 이것들을 없애고      

아래와 같이 수정하니 제대로 만들어 졌다.

구문상 오류때문에 imp가 안된듯하다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
SQL> CREATE TABLE "SW_ADDRS" 
             ( 
                          "CUST_NO"     NUMBER(100NOT NULL ENABLE, 
                          "ADDRS_NO"  number(100NOT NULL ENABLE, 
                          "ADDR_TYPE"   VARCHAR2(30), 
                          "OFFICER" varchar2(30), 
                          "POST_NO" CHAR(6), 
                          "POST_SQ" CHAR(2), 
                          "ADDR"    VARCHAR2(150), 
                          "DDD" char(4), 
                          "OFF_NO" CHAR(4), 
                          "TEL_NO" CHAR(4), 
                          "REG_DT" CHAR(14), 
                          "UPD_DT" char(14
             ) 
             PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE 
             ( 
                          INITIAL 52428 FREELISTS 1 FREELIST GROUPS 1 
             ) 
             TABLESPACE "TS_SALESWORKS_DATA_01" logging NOCOMPRESS;
 
Table created.


원인 : exp한 db와 imp 하는 db의 버전이 맞지 않아 쿼리 호환성 문제




참조 : http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=10205&docId=66391602

http://tod2.tistory.com/17