SQL*Loader 메모

의 목적
  • 비즈니스 효율화
  • 학습노트
  • DB 활용
    oracle 11g
    도구 사용
  • SQLDeveloper
  • A5SQL
  • SQL*Loader란 무엇입니까?
    SQL*Loader 제어 파일은 SQL*Loader 작업용 데이터 정의 언어(DDL) 명령을 포함하는 텍스트 파일입니다.
    SQL*Loader 제어 파일은
  • SQL*Loader에서 로드된 데이터의 위치
  • SQL*Loader를 이용하여 데이터 형식을 만드는 방법
  • 데이터 로딩 시 SQL*Loader의 설정(메모리 관리, 기록 거부, 부하 처리 중단 등)
  • SQL*Loader가 로드하는 데이터 처리 방법
  • 샘플 제어 파일을 만들고 실행하기
    사전 준비
  • oracle 설치 & 데이터베이스 제작
  • 빈 테이블에create table
  • csv 데이터 만들기
  • 실천편
    sample2.ctl
    LOAD DATA CHARACTERSET UTF8
    INFILE 'TEST2.csv'
    BADFILE 'TEST2.BAD'
    DISCARDFILE 'TEST2.DSC'
    -- APPEND INTO TABLE TEST2
    TRUNCATE INTO TABLE TEST2
    -- REPLACE INTO TABLE TEST2
    -- INSERT INTO TABLE TEST2
    (
    TESTCD POSITION(1:4) CHAR,
    TESTNM POSITION(5:13) CHAR
    )
    
    
    TEST2.csv
    0001あああ
    0002いいい
    0003かかか
    0004かええ
    0005おおお
    
    명령을 집행하다
    CMD
    sqlldr TESTUSER/Test1234@orcl CONTROL=C:\work\xxx\csv\20210208_172118\sample2.ctl LOG=C:\work\xxx\csv\20210208_172118\TEST2.log
    
    CMD
    SQL*Loader: Release 11.2.0.1.0 - Production on29 20:31:31 2021
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    コミット・ポイントに達しました。 - 論理レコード件数4
    コミット・ポイントに達しました。 - 論理レコード件数5
    
    C:\work\xxx\csv\20210208_203131>
    

    날짜를 처리할 때의 예
    사전 준비
  • 빈 테이블 만들기
  • CSV 데이터 제작
  • ctl 파일 제작
  • 실천하다
    sample2.1.ctl
    LOAD DATA CHARACTERSET UTF8
    INFILE 'TEST2.1.csv'
    BADFILE 'TEST2.1.BAD'
    DISCARDFILE 'TEST2.1.DSC'
    TRUNCATE INTO TABLE TEST6
    FIELDS TERMINATED BY ','
    TRAILING NULLCOLS
    (
    TESTNM,
    NOCOLUMN FILLER,
    TESTNOTE CONSTANT 'XXXXX',
    TESTDATE1 SYSDATE,
    TESTDATE2 CHAR "TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS')"
    )
    
    
    TEST2.1.csv
    あああ,dummy
    いいい,dummy
    ううう,dummy
    えええ,dummy
    おおお,dummy
    
    명령을 집행하다
    CMD
    sqlldr TESTUSER/Test1234@orcl CONTROL=C:\work\xxx\csv\20210208_172118\sample2.1.ctl LOG=C:\work\xxx\csv\20210208_172118\TEST2.1.log
    
    CMD
    SQL*Loader: Release 11.2.0.1.0 - Production on29 20:50:45 2021
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    コミット・ポイントに達しました。 - 論理レコード件数4
    コミット・ポイントに達しました。 - 論理レコード件数5
    
    C:\work\xxx\csv\20210208_205500>
    

    덤으로

    초기 시작 정보
    → JVM은 32비트를 지정해야 합니다.64비트를 선택하면 부팅이 시작되지 않습니다.
    덧붙이다
    테이블 영역의 용량 확인
    query.sql
    SELECT * FROM dba_free_space;
    
    TABLESPACE_NAME                FILE_ID                BLOCK_ID               BYTES                  BLOCKS                 RELATIVE_FNO           
    ------------------------------ ---------------------- ---------------------- ---------------------- ---------------------- ---------------------- 
    SYSTEM                         1                      87968                  786432                 96                     1                      
    SYSTEM                         1                      88448                  9437184                1152                   1                      
    SYSAUX                         2                      66768                  29753344               3632                   2                      
    UNDOTBS1                       3                      4096                   58720256               7168                   3                      
    UNDOTBS1                       3                      11392                  7340032                896                    3                      
    UNDOTBS1                       3                      12416                  3145728                384                    3                      
    USERS                          4                      600                    327680                 40                     4                      
    EXAMPLE                        5                      480                    1966080                240                    5                      
    EXAMPLE                        5                      1408                   589824                 72                     5                      
    EXAMPLE                        5                      10392                  19726336               2408                   5                      
    USERS                          4                      584                    65536                  8                      4                      
    USERS                          4                      568                    65536                  8                      4                      
    USERS                          4                      528                    65536                  8                      4                      
    USERS                          4                      576                    65536                  8                      4                      
    USERS                          4                      520                    65536                  8                      4                      
    
    15 rows selected
    
    가져오기 모드 목록
    query2.sql
    SELECT DISTINCT owner  FROM all_objects order by owner;
    
    ・
    ・
    ・
    TESTUSER                       
    WMSYS                          
    XDB                            
    ・
    ・
    ・
    30 rows selected
    
    DB 문자 코드 확인
    query3.sql
    SELECT VALUE FROM nls_database_parameters
    WHERE parameter='NLS_CHARACTERSET'
    
    VALUE                                    
    ---------------------------------------- 
    JA16SJISTILDE                            
    
    1 rows selected
    
    참고 자료
    SQL*Loader 제어 파일 참조
    의외로 몰랐어?!데이터 로드의 기본 사항

    좋은 웹페이지 즐겨찾기