개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 Loading Variable-Length Data

 

 

 

 

 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 Loading Variable-Length Data

 

 

 

 

 

 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

Loading Variable-Length Data (가변길이데이타)

 

 

 

 

 

 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

컨트롤 파일

 

* SQL*Loader를 사용하려면 외부 데이타 화일과 Control File이 필요합니다.
   Control File이라고 하는 것은 로드하는 데이타의 정보를 저장한 화일입니다. 
   간단한 Sample Control File을 설명하겠습니다.

    LOAD DATA                          제어 화일의 선두에는 반드시 이 말이 필요합니다.

    INFILE sample.dat                 외부 화일을 지정(경로,파일명)합니다.

    REPLACE                             테이블에 데이타 넣는 방법 지정

    INTO TABLE table_name       데이타를 로드하는 테이블을 지정

    FIELDS TERMINATED BY ','   데이타 필드의 종결 문자 지정

    (a integer external,                테이블의 열, 외부 데이타 화일의 데이타 형을 지정

     b char)

 

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

     REPLACE                    테이블의 기존 행을 모두 삭제(DELETE)하고 INSERT

     APPEND                     새로운 행을 기존의 데이타에 추가

     INSERT                       비어 있는 테이블에 넣을 때

     TRUNCATE                 테이블의 기존 데이타를 모두 TRUNCATE 하고 INSERT

    SQL*Loader를 실행하면 아래의 화일이 작성됩니다.

 

    * 로드 작업 중 동작에 관한 통계 등을 포함한 로그 화일(확장자는 log)

    * 데이타 에러 때문에 로드가 안된 레코드를 저장한 화일(확장자는 bad)

    * 사용자의 선택 기준에 적합하지 않은 레코드를 저장한 화일(discard 화일)

       이것은 discardfile 옵션으로 별도로 지정해야 생성됩니다.

 

 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

Conventional Path 에 의한 로드

 

*ROWS Parameter 는 데이터를 Commit 하기전에 얼마나 많은 행들을 로드할것인지

 명시하기 위해 사용된다.

*데이터베이스에 대한 모든변경은 Redo Log 파일에 기록된다.

*SQL*Loader 는 데이터로드동안 테이블에 속하는 모든 인덱스를 유지관리한다.

 이런행위를 중단시키기위한 유일한방법은 데이터로드를시작하기전에 인덱스를

 삭제하고 데이터로드후 여전히 그 인덱스가필요하다면 다시 생성하는 것이다.

*복수개의 행들이 한번에 읽혀져서 Binding 대상인 배열에 저장이된다.

 그다음에 INSERT 명령이 한번에 배열의 내용을 삽입하고 Commit 한다.

*Binding 대상인 배열은 적어도 한 개의 행을 소유하기에 충분한크기여야한다.

 그렇지 않은 경우 에러가 발생한다. 성능을 최대화하기 위한 크기는 한번에

 100 정도를 지정하는 것이 좋다.

 

 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

Conventional Path 에 의한 로드

 

*ROWS Parameter 는 데이터를 Commit 하기전에 얼마나 많은 행들을 로드할것인지

 명시하기 위해 사용된다.

*데이터베이스에 대한 모든변경은 Redo Log 파일에 기록된다.

*SQL*Loader 는 데이터로드동안 테이블에 속하는 모든 인덱스를 유지관리한다.

 이런행위를 중단시키기위한 유일한방법은 데이터로드를시작하기전에 인덱스를 삭제하고

 데이터로드후 여전히 그 인덱스가필요하다면 다시 생성하는 것이다.

*복수개의 행들이 한번에 읽혀져서 Binding 대상인 배열에 저장이된다.

 그다음에 INSERT 명령이 한번에 배열의 내용을 삽입하고 Commit 한다.

*Binding 대상인 배열은 적어도 한 개의 행을 소유하기에 충분한크기여야한다.

 그렇지 않은 경우 에러가 발생한다. 성능을 최대화하기 위한 크기는 한번에

 100 정도를 지정하는 것이 좋다.

 

 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

Conventional Path 에 의한 로드

 

*Database 자원에 대해 모든 다른 Oracle Process 와 경쟁을 함.

*직접적인(Direct) 경로 보다 더 느릴수 있음.

*데이터베이스에 삽입될 행들의 배열을 작성함.

*테이블에 행들을 삽입하기 위해 INSERT SQL 문장을 사용함.

*다음과 같은 경우에 전통적인경로(Conventional Path) 를 사용함.
 

 - N/W 을 통한 데이터 로드시.
 - 클러스터화된 테이블에 데이터 로드시.
 - 인덱스화된 대형테이블에 상대적으로 적은 개수의 행들을 로드시.
 - 참조무결성 제약조건과 칼럼검사 무결성제약조건을 사용하여 대형테이블에

   상대적으로 적은 갯수의 행들을 로드시.
 - 데이터필드에 SQL 함수를 적용할때

 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

Conventional Path 에 의한 로드

 

*Database 자원에 대해 모든 다른 Oracle Process 와 경쟁을 함.

*직접적인(Direct) 경로 보다 더 느릴수 있음.

*데이터베이스에 삽입될 행들의 배열을 작성함.

*테이블에 행들을 삽입하기 위해 INSERT SQL 문장을 사용함.

*다음과 같은 경우에 전통적인경로(Conventional Path) 를 사용함.
 

 - N/W 을 통한 데이터 로드시.
 - 클러스터화된 테이블에 데이터 로드시.
 - 인덱스화된 대형테이블에 상대적으로 적은 개수의 행들을 로드시.
 - 참조무결성 제약조건과 칼럼검사 무결성제약조건을 사용하여 대형테이블에

   상대적으로 적은 갯수의 행들을 로드시.
 - 데이터필드에 SQL 함수를 적용할때

 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개 요

 

 *Control File – 입력 데이터 파일의 레코드 입력형식, 출력테이블, 그리고옵션조건을지정

*Data File – 로드대상이 되는 데이터 파일

*Log File – 로드작업의 결과 및 에러등을 기록

*Bad File – 에러로 인해 로드가 안된 레코드를 저장

*Discard File – 사용자의 선택기준에 적합하지 않은 레코드를 저장

*Parameter file – 명령라인 Parameter를 정의하는데 사용되는 옵션 파일.

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

 

 


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

 

 

개 요

 

 

 


 

개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr


개발자에게 배우는 개발자교육! 구로 오라클자바교육학원 www.oraclejava.co.kr

+ Recent posts