sql * loader를 사용하여 손쉽게 많은 양의 데이터를 한번에 처리할 수 있다.
<환경 오라클 10gR2>
create sql
create table t_disk_info(
SYS_LGRP_CD varchar2(5),
system_date varchar2(8),
system_time varchar2(6),
file_system varchar2(20),
current_used varchar2(12),
total_size number(12),
used_size number(12),
avail_size varchar2(12),
mounted_on varchar2(20)
);
0303disk.dat
iux51|20090115|230000|/dev/cciss/c0d1p2|100798800|30809092|69989708|30.56|/NMSBAK|
iux51|20090115|230000|/dev/cciss/c0d2p1|288362864|49865847|238497017|17.29|/SVC
1. 테이블을 만들고, 데이터를 알맞게 배치시키기.
disk_info.ctl
LOAD DATA
INFILE 'c:\file\0303disk.dat'
replace INTO TABLE t_disk_info
FIELDS TERMINATED BY '|'
(
SYS_LGRP_CD,
SYSTEM_DATE,
SYSTEM_TIME,
FILE_SYSTEM,
CURRENT_USED,
TOTAL_SIZE,
USED_SIZE,
AVAIL_SIZE,
MOUNTED_ON
)
2. control파일을 생성한다.
control file을 위한 참고 문서:
http://grapro.tistory.com/47?srchid=BR1http%3A%2F%2Fgrapro.tistory.com%2F4
http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14215/app_ldr_syntax.htm#i631434
http://database.sarang.net/?inc=read&aid=8767&criteria=oracle&subcrit=&id=8913&limit=20&keyword=&page=12
3. 실행창에서 sqlldr를 실행한다.
OS> sqlldr userid=scott/tiger@ip:port/uid control=c:\disk_info.ctl
control file이 있는 폴더에서 해당 작업이 잘 진행되었는지를
볼 수 있는 log파일이 생성되고 실패한 파일이 있는 경우 해당 컬럼은
*.bad파일에 들어가서 내가 확인할 수 있다.