SQL*Loader란?
SQL*Loader란 외부 화일 데이터를 ORACLE 데이터베이스의 테이블에 넣기 위한 유틸리티 입니다.
SQL*Loader 특징
1) 하나 이상의 입력 파일을 사용할 수 있습니다.
2) 로드를 위해 여러 개의 입력 레코드가 하나의 논리적 레코드로 결합될 수 있습니다.
3) 입력 필드는 고정된 길이를 가질 수도, 다양한 길이를 가질 수도 있습니다.
4) 입력 데이터는 문자, 이진, 팩 십진수(packed decimal), 날짜, 그리고 존 십진수(zoned decimal) 등의 어떤 유형도 사용할 수 있습니다.
5) 데이터는 디스크나 테이프, 또는 명명된 파이프 등 여러 유형의 매체로부터 로드될 수 있습니다.
6) 데이터는 한 번에 여러 테이블로 로드될 수 있습니다.
7) 데이터는 데이터베이스 버퍼 캐쉬를 거치지 않고 테이블로 직접 로드될 수 있습니다.
SQL*Loader의 사용
문법: sqldr 명령어는 $ORACLE_HOME/bin 디렉토리에 있습니다.
sqldr [keyword=] value [ [keyword=] value ] ...
- keyword: 아래에 설명되는 키워드 중의 하나
- value: 키워드에 지정되는 값
예제:
sqldr userid=scott/tiger control='ulcase1.ctl' log='ulcase1.log'
키워드:
키워드 |
설명 |
UESRID |
오라클 사용자 이름과 암호를 지정합니다. |
CONTROL |
콘트롤 파일 이름, SQL*Loader를 수행하기 위해서는 항상 지정해 주어야 합니다. |
LOG |
로그 파일 이름을 지정합니다.(기본 이름은 controlfile.log) |
BAD |
거부된 레코드 모두를 저장하는 배드 파일 이름을 지정합니다(기본 이름은 controlfile.bad) |
DATA |
입력 데이터 파일 이름을 지정합니다. |
DISCARD |
Load시 선택ㅇ되지 않은 레코드가 저장되는 디스카드 파일(선택 사항) |
DISCARDMAX |
버림(discard)의 최대 허용 갯수를 지정합니다. |
ERRORS |
허용하는 배드 레코드의 최대 수를 지정합니다. |
DIRECT |
TRUE로 설정되면 SQL*Loader는 DIRECT PATH를 사용. 반대의 경우는 기본 값인 CONVENTIONAL PATH를 사용합니다. |
PARFILE |
추가 파라미터 파일을 저장합니다. |
PARALLEL |
DIRECT 로드에서만 적합한 이 파라미터는 다중 병렬 DIRECT로드가 수행되도록 지정합니다. |
FILE |
병렬 DIRECT로드의 경우 임시 세그먼트가 생성될 파일을 지정합니다. |
'데이터베이스(DA, AA, TA) > Oracle' 카테고리의 다른 글
[오라클] I/O SQL튜닝 방법 정리(1) (0) | 2017.12.03 |
---|---|
[오라클] PCTFREE와 PCTUSED (0) | 2017.11.23 |
[오라클] SQL*Plus 사용법 정리 (0) | 2017.11.16 |
[오라클] 테이블스페이스와 데이터파일 (3) | 2017.11.16 |
[오라클] 서브쿼리와 성능 문제 이해하기 (1) | 2017.11.12 |