[Oracle] SQL*Loader의 사용

① 문법

SQLLDR [keyword=] value [ [keyword=] value ]...

- KEYWORD : 아래에 설명되는 키워드중의 하나
- VALUE : 키워드에 지정되는 값


② 예제)

SQLLDR userid=scott/tiger control='ulcase1.ctl' log='ulcase1.log' direct=true

③ 키워드







1. Control File


▒ Control File의 정의

① Control File은 Load할 데이터에 대한 설명을 기술한 파일 입니다.

② 데이터를 로드 할 오라클 테이블과 컬럼을 명시 합니다.

③ 테이블 내에 데이터와 컬럼 사이의 종속 관계를 지정 합니다.


▒ Control File 작성 Guide

① Control File은 대소문자 구분없이 작성 할 수 있습니다.

② 대소문자 구분은 " "등으로 지정된 스트링 데이터를 제외하고는 중요하지 않습니다.

③ 주석은 -- 로 표시 합니다.

④ SQL*Loader의 예약어를 테이블 또는 컬럼명으로 사용 할 때에는 " "를 사용해야 합니다.


▒ Control File 예약어들

① LOAD DATA : 제어화일의 시작을 명시 합니다.

② INFILE : 외부화일을 지정 합니다. (ex. INFILE 'ulcase2.dat')

③ REPLACE : 테이블에 데이타 넣는 방법 지정 합니다.

④ INTO TABLE table_name : 데이타를 로드하는 테이블을 지정 합니다.

⑤ FIELD TERMINATED BY ',' : 데이타 필드의 종결문자를 지정 합니다.


※ 참고로 Replace외에 다음의 옵션이 가능 합니다.

- REPLACE : 테이블의 기존 행을 모두 삭제(delete)하고 Insert합니다.

- APPEND : 새로운 행을 기존의 데이타에 추가 합니다.    

- INSERT : 비어 있는 테이블에 넣을 때 사용 합니다.

- TRUNCATE : 테이블의 기존 데이타를 모두 truncate 하고 인서트 합니다. (7.0에는 없음)


▒ Control File 예(Control File에서 데이터를 포함 할 경우)

LOAD DATA
INFILE *
REPLACE
INTO TABLE dept  
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
(DEPTNO, DNAME, LOC)
BEGINDATA
12,RESEARCH,"SARATOGA"
10,"ACCOUNTING",CLEVELAND
11,"ART",SALEM

※ Control File에서 데이터를 포함하지 않을 경우에는 INFILE 다음에 DATA파일을 지정하고,
BEGINDATA 부터 생략 하시면 됩니다.

2. Data File


① 콘트롤 파일에 정의된 형식으로 데이터를 가지고 있습니다.

② SQL*Loader에서는 Load될 데이터를 Control File에 정의 할 수도 있고
Data File에 따로 분리해서 사용할 수도 있습니다.



3. Log File


① SQL*Loader에 의해 생성됩니다.

② Control File에 지정한 형식에 위배되는 데이터를 저장 합니다.

③ Load상태 정보를 저장 합니다.

④ 로드된 행의 수, 로드되려다 데이터 에러로 인해 거부된 행의 수, 버려진 행의 수등의
테이블 로드 정보를 제공 합니다.

⑤ 로드 시작/종료 시간, 총 경과 시간등의 통계 정보를 제공 합니다.



4. Bad File


① Reject 데이터는 Bad File에 저장 됩니다.

② Bad File은 Load Format으로 쓰여지므로 이파일을 수정하여 Error를 고친후
다시 Input파일로 사용 할 수 있습니다.

③ 데이터가 Reject되는 경우

④ Input Format이 틀릴 경우

⑤ 행이 제약 조건 위배 등의 이유로 삽입될 수 없을 때




5. Discard File


① Discard File은 사용자가 지정한 조건에 맞지 않는 데이터를 저장 하는 파일입니다.

② 사용자가 지정한 WHEN절 옵션에 맞지 않는 데이터를 저장 합니다.

③ Discard File은 사용자에 의해 요구될 때 만 생성 됩니다.

④ Bad File과 같이 Load Format로 저장되므로 에서를 수정하여 다시 재사용 할 수 있습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2009/09/17 11:30 2009/09/17 11:30
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/4633

나는 늘 직원들에게
“차갑지도, 뜨겁지도 않은
따뜻한 상태에 놓여 있는 것을 경계하라”고 강조한다.
따뜻하다는 것은 편안하다는 뜻이고,
편안하다는 것은 현실에 안주하고 있음을 의미한다.
이가 시릴 정도의 차가운 물을 마시면 누구나 서둘러 물을 섞어야겠다고 생각한다.
어떻게든 자극을 받아야 변화가 시작되는 것이다.

- 웅진그룹 윤석금 회장, ‘긍정이 걸작을 만든다’에서


대부분의 사람들은 따뜻한 상태, 즉 편안함을 희구합니다.
그러나 따뜻한 상태에서는 아무런 자극도 일어나지 않으므로,
그 상태로는 발전과 변화도 꾀할 수 없습니다.

가끔은 이런 생각을 해봅니다.
'어차피 한번 사는 세상인데,
편안한 것, 안정된 것이 그렇게 큰 가치가 있는 것일까?' 하고...
크리에이티브 커먼즈 라이센스
Creative Commons License
이올린에 북마크하기

Posted by 홍반장

2009/09/17 07:43 2009/09/17 07:43
Response
No Trackback , No Comment
RSS :
http://tcbs17.cafe24.com/tc/rss/response/4632


블로그 이미지

- 홍반장

Archives

Recent Trackbacks

Calendar

«   2009/09   »
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30      
Statistics Graph

Site Stats

Total hits:
188510
Today:
696
Yesterday:
614