대용량의 엑셀을 IMPORT 하려고 하니 토드나 SQLDEVELOPER 에서 메모리가 부족하다고 오류가 발생합니다.

 

이럴땐 SQL Loader 을 이용해서 밀어 넣으면 됩니다. 또한 속도도 엄청 빠릅니다.

 

SQL Loader 는 오라클 설치시 자동으로 설치되는 프로그램 입니다.

 

1. import 해야할 엑셀 데이터를 텍스트 파일로 저장합니다. (XXXX.csv)

  파일 > 다른이름으로 저장하기 > CSV(쉼표로 분리) 선택하고 저장합니다.

쉼표는 자주쓰이기 때문에 다른 구분자로 자르는것을 추천합니다. 아래 다른 구분자로 자르는 방법입니다.

주의) 엑셀에 텍스트가 쉼표가 들어가 있는경우 잘못 잘릴 가능성이 있으니 주의!!

       쉼표구분기호를 다른 구분기호로 변경하는방법은

       윈도우설정 > 국가 또는 지역 설정 > 형식 사용자 지정(숫자탭) > 목록 구분 기호를 다른값으로 저장해주면

      엑셀에 반영됩니다.

 

2. SQL Loader 를 실행하기 위한 Control 파일을 만듭니다. (XXXX.ctl)

   가져올 파일의 경로와 저장할 테이블과 필드, 구분자 를 지정합니다.

내용:

load data

infile 'c:\test.csv'

append

into table 넣을테이블명

fields terminated by ','   ==> 쉼표( ',' ) 로 자른경우 이고 다른구분자로 자른경우는 바꿔주어야 합니다.

(넣을컬럼, 넣을컬럼.......) ==> 쉼표(',') 로 자른 순서대로 컬럼에 들어감

 

3. SQL Loader 실행

 : sqlldr userid=userid/pwd control='c:\test.ctl'

SID 가 필요한경우

: sqlldr userid=userid/pwd@SID control='c:\test.ctl'

 

 

TEST_CTL.ctl

명령실행.txt

 

 

끝~