이번에 엄청난 데이터를 받았다... 몇백만 건이 넘는 .dat파일 세개...
이럴때 바로 SQL Loader를 쓰면 엄청난 양의 데이터, 그리고 .dat확장자를 가진 데이터를 빠르고 쉽게 테이블에 삽입할 수 있다.
※ SQL Loader 사용법
- 데이터를 임포트할 테이블을 생성한다.
- 컨트롤 파일을 만든다.
- cmd창에서 SQL Loader를 실행한다.
※ 상세방법
- 데이터를 임포트할 테이블을 생성한다.
- 생략
- 컨트롤 파일을 만든다.
- SQL Loader를 사용하기 위해서는 컨트롤 파일이란것이 필요하다. 컨트롤 파일은 데이터 임포트를 하기위한
일종의 설정파일이다.
메모장에 작성한 후 확장자를 .ctl로 저장하자. ctl 파일 내용은 아래와 같다.
options(skip =1)
load data
infile 'C:\Users\Administrator\Desktop\2017DJA\DJA.dat'
append
into table DJA_01
fields terminated by '|'
trailing nullcols
(
Column1
, Column2
, Column3
)
options(skip =1) : 맨위의 한줄을 건너뛰고 다음 줄부터 데이터 임포트 시키는 옵션
infile : 임포트 하려는 데이터 파일의 경로와 이름
append : 기존 테이블의 데이터뒤에 위의 데이터를 추가하는 옵션
into table DJA : 데이터를 추가하려는 테이블의 이름
fields terminated by '|' : 구분자
trailing nullcols : null인 데이터도 삽입할 때 사용하는 옵션
괄호 안 ( ) : 데이터를 추가하려는 테이블의 컬럼명을 적는다.
- cmd창에서 SQL Loader를 실행한다.
- cmd 창에서 SQL Loader를 실행시키는 명령어를 입력한다.
1) cmd 실행
2) sqlplus userid/userpw 을 입력하여 sqlplus 실행
3) 아래 명령어를 입력하여 SQL Loader 실행.... 단 저 명령어는 OS명령창에서 나와서 써야하기 때문에 앞에
$가 붙는다
(리눅스라면 ! 가 붙음)
$sqlldr userid= dj/1234 control ='C:\Users\Administrator\Desktop\DJA\SQL_Loader\DJA01.ctl' log ='C:\Users\Administrator\Desktop\DJA\SQL_Loader\DJA01.log'
userid : 해당 데이터베이스의 아이디와 비밀번호
control : 컨트롤 파일의 위치
log : SQL Loader 실행시 생성될 로그파일의 위치 (참고로 데이터 삽입에 실패하면 bad파일이 생성되는데
그 곳에는 삽입이 실패한 데이터들의 목록이 들어있음)
'플밍 is 뭔들 > DB' 카테고리의 다른 글
[오라클] SQL Plus를 이용한 대용량 데이터 export (0) | 2017.03.30 |
---|---|
데이터베이스 유저 생성 및 DBA 권한주기 (0) | 2017.03.23 |
NOT IN의 함정... 조건은 맞는데 데이터가 안나올때.. (0) | 2017.03.15 |