본문 바로가기

DataBase/Oracle

SQL*Loader에 사용되는 파일들

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로 저장되므로 에서를 수정하여 다시 재사용 할 수 있습니다.
 

'DataBase > Oracle' 카테고리의 다른 글

[펌]with문을 활용하자  (0) 2008.08.08
SQL*LOADER에서 SEQUENCE함수와 DECODE함수 사용하는 방법  (0) 2008.08.08
SQL*Loader란?  (0) 2008.08.08
SQL*Loader 예제  (0) 2008.08.08
NVL2 함수의 사용  (0) 2008.08.08