오라클 AS-IS데이터를 덤프받아서 개발용으로 생성

임포트 하자.


imp test/1234 file='backup.dmp' full=y log=log.log


임포트 중 아래와 같은 에러가 발생했습니다.


IMP-00017: 다음 명령이 실패하고 ORACLE 959 오류가 발생했습니다:

 "CREATE TABLE "AUCTION_T" ("AUCTIONNO" VARCHAR2(15) NOT NULL ENABLE, "AUCTIO"

 "NTITLE" VARCHAR2(255), "AUCTIONCONTENT" CLOB, "THUMBNAILNAME" VARCHAR2(255)"

 ", "SUPPORT" VARCHAR2(64), "FROMPOINT" NUMBER(8, 0), "TOPOINT" NUMBER(8, 0),"

 " "FROMAUCTION_TIME" VARCHAR2(12) NOT NULL ENABLE, "TOAUCTION_TIME" VARCHAR2"

 "(12) NOT NULL ENABLE, "JOIN_CNT" NUMBER(8, 0), "LIMIT_CNT" NUMBER(8, 0), "J"

 "OINPOINT" NUMBER(8, 0), "REGISTERUSERID" VARCHAR2(32) NOT NULL ENABLE, "MOD"

 "IFYUSERID" VARCHAR2(32) NOT NULL ENABLE, "AUCTIONREGISTER_DT" DATE, "AUCTIO"

 "NMODIFY_DT" DATE)  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(IN"

 "ITIAL 65536 NEXT 1048576 MINEXTENTS 1 FREELISTS 1 FREELIST GROUPS 1 BUFFER_"

 "POOL DEFAULT) TABLESPACE "BAERON" LOGGING NOCOMPRESS LOB ("AUCTIONCONTENT")"

 " STORE AS BASICFILE  (TABLESPACE "BAERON" ENABLE STORAGE IN ROW CHUNK 8192 "

 "PCTVERSION 10 NOCACHE LOGGING  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENT"

 "S 1 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT))"

IMP-00003: ORACLE 오류 959이(가) 발생했습니다.

ORA-00959: 테이블스페이스 'BAERON'이(가) 존재하지 않습니다.


특정 테이블의 테이블 스페이스가 다른곳으로 지정되어 생긴 문제


우선 테이블 스페이스를 먼저 만드어주고


CREATE TABLESPACE BAERON

DATAFILE 'D:\app\abc\oradata\orcl\BAERON.dbf' SIZE 100M

AUTOEXTEND ON NEXT 10M

DEFAULT STORAGE 

(

  INITIAL    10K

  NEXT      10K

  MINEXTENTS 2

  MAXEXTENTS 50

  PCTINCREASE 50

);



create user test identified by 1234 default tablespace BAERON TEMPORARY TABLESPACE TEMP;



이후 임포트작업을 실행하면 된다.





프로젝트 진행 중 개발서버 셋팅을 위해서 오라클 덤프를 받을것을

윈도우 개발서버에 임포트 해야 했다.


뭐 임포트 쯤이야


cmd > imp system/password file='d:\full.dmp' full=y



헐 에러가 난다.


IMP-00038 : Could not convert to environment character set's handle


케랙터 셋 문제..

항상 무섭다. 언어문제..


무한 구글링과 무한 삽질을 한 결과


해결책은 imp 대신 impdp 를 사용하는 것이다.

Data Pump라는 기능이다.


진화된 임포트, 익스포트 기능인거 같다.


우선 Data Pump를 사용하려면 덤프파일이 있는 물리적 디렉토리를 디렉토리에 등록하는 것이다.


SQL > create directory TESTDBDUMP as 'D:\TESTDBDUMP';


이후 덤프 파일을 임포트 한다.


CMD > impdp 'system/password as sysdba' directory=TESTDBDUMP dumpfile=full.dmp full=y


임포트 작업이 진행된다.


작업 로그는 덤프파일 위치에 import.log로 쌓인다.


풀로 작업하면서 테이블 스페이스 에러가 많이 났다.


테이블 스페이스를 생성하는 쿼리에서 실제 물리적 경로(폴더)가 없어서 생긴 경우다.


해당 경로에 폴더를 생성해 주면 된다.









+ Recent posts