Database & NoSQL

oracle sql*Loader 사용법

2015. 3. 19. 17:18
반응형

오라클 sql*Loader

신주소 체계 데이터를 DB로 Insert 할 경우에 사용.

-20150306_jeonbuk.txt
585841|001|전라북도|Jeollabuk-do|고창군|Gochang-gun|고수면|Gosu-myeon
585841|001|전라북도|Jeollabuk-do|고창군|Gochang-gun|고수면|Gosu-myeon
585841|001|전라북도|Jeollabuk-do|고창군|Gochang-gun|고수면|Gosu-myeon

-zipcode.ctl (ctl 확장자에 테이블명, 필드명, INFILE 위치, 오류시 저장할 BADFILE 명, fields terminated by "|" 구분자 입력)
LOAD DATA
    INFILE  'D:\SqlLoader\20150306_jeonbuk.txt'
    BADFILE 'D:\SqlLoader\20150306_jeonbuk_bad.txt'
APPEND
INTO TABLE ST_POST_DTL_DMY
    fields terminated by "|" optionally enclosed by '"'
( 우편번호,
우편일련번호,
시도,
시도영문,
시군구,
시군구영문,
읍면,
읍면영문 )

1. cmd -> D: (ctl 파일 디렉토리로 이동)
2. sqlldr dbname/password@sid control=zipcode.ctl data=20150306_jeonbuk.txt  ENTER
3. 10 만 건 돌리는데 대략 3분 정도 소요? 
4. 저장된 데이터 확인!

반응형
반응형
중복되는 필드를 기준으로 그룹화 하는 쿼리

DISTINCT와 동일한 로우 출력

--중복되는 데이타 특정 필드로 그룹핑 쿼리 1 
SELECT 우편번호 ,시도 ,시군구 ,법정동명   
  FROM (SELECT 우편번호 ,시도 ,시군구 ,법정동명 , ROW_NUMBER() OVER(PARTITION BY 시도, 시군구 ORDER BY 시도 DESC, 시군구 DESC) rn FROM ST_POST_DTL_DMY2 t)  
 WHERE rn = 1   
   AND 시도 = '부산광역시'  
  
--중복되는 데이타 특정 필드로 그룹핑 쿼리 2 
SELECT * FROM ST_POST_MST 
 WHERE ROWID IN(SELECT MAX(ROWID)
                  FROM ST_POST_MST 
              GROUP BY CITY_NM, GU_NM) 
   AND CITY_NM = '부산광역시' 
 ORDER BY CITY_NM;
반응형
반응형
Oracle Table Backup Query(Create Table As Select)

A 테이블을 A_BACKUP 테이블로 복제하는 쿼리(Create Table As Select) 입니다.

작업간에 테이블 백업 용도로 주로 사용하는데 무지 편합니다.

A 테이블을 생성하고 TABLESPACE를 선언해주고 백업할 테이블 조회 및 데이터 복제하면 사용할 수 있습니다.

CREATE TABLE ST_POST_DTL_BACKUP TABLESPACE TS_D_YK_DATA_B01  AS  SELECT * FROM ST_POST_DTL;   --스키마만 복제시 SELECT * FROM ST_POST_DTL;  WHERE 1=0;

 

반응형
반응형
Oracle FlashBack 

Oracle 데이터 복구를 위한 FlashBack 쿼리 정리합니다.

Query INTERVAL 30분, 3시간, 1일

 -- 30분 이전의 해당 테이블의 데이터 조회 
 SELECT * 
   FROM TEST_TABLE AS OF TIMESTAMP ( SYSTIMESTAMP - INTERVAL '30' MINUTE);
-- 3시간 이전의 해당 테이블의 데이터 조회 
SELECT * 
  FROM TEST_TABLE AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '3' HOUR);​
-- 1일 이전의 해당 테이블의 데이터 조회 
SELECT * 
  FROM TEST_TABLE AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' DAY);

Query FLASHBACK 

-- 2분전의 데이터  복구 
FLASHBACK TABLE TEST_TABLE TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '2' MINUTE);  

--Row Movement 비활성화 오류시 
ALTER TABLE TEST_TABLE ENABLE ROW MOVEMENT;
반응형
반응형
pl/sql developer 사용자 환경 설정

1. developer restart시 마지막 저장된 설정으로 화면 로딩.

tool - preferences - user interface - options - Auto save desktop     CHECK

2. table name 자동 완성.

tool - preferences - user interface - Editor - Auto Replace - Enabled    CHECK

3. cursor line query 실행.

tool - preferences - Window Types - SQL Window - Auto Select statement     CHECK

4. editor line 표기.

tool - preferences - Window Types - Show gutter[line number]     CHECK

5. 세션별 백그라운드 컬러 설정.

tool - preferences - User interface - Appearance - Connection Indicators 설정

반응형

+ Recent posts

반응형