본문 바로가기
Oracle/운영

SQL*Loader 를 이용해서 리스너 로그 -> DB 테이블로 넣기

by 취미툰 2022. 4. 22.
반응형

로그 분석이 필요하여 테이블로 로그데이터를 이관해달라는 요청을 받고 여러가지 테스트 후에 SQL* Loader를 이용하여 넣기로 하였습니다.

이유는,

1.1회성으로 한번만 넣으면 되는 점.

2.간단하게 모든 메세지를 넣을 수 있는 점.

으로 loader로 수행하였습니다.

 

아래는 스크립트입니다.

 

###########OS 로그성 테이블 DB 테이블로 넣기
요약: sql loader로 이용하여 넣었음. raw data의 정제가 가장 중요함. 어떤식으로 나눌지에 대해서 잘 판단이 가장 중요하다.


####1. 테이블 생성 및 시노님 생성 (DB)

create table ibmdba02.lsnr_log
(day varchar2(20),
 time varchar2(20),
 message varchar2(500)
) TABLESPACE TS_IRUDA01
;

create or replace public synonym lsnr_log for ibmdba02.lsnr_log;






####2. OS에서 Loader 용 ctl 파일 생성

이 부분에서, raw data를 어떻게 정제할 것인가에 대한 테스트를 많이 수행하였습니다.

LOAD DATA
infile '/oracle/grid/base/diag/tnslsnr/DTMDB01P/listener_dbdtmp/trace/listener_dbdtmp.log'
APPEND
INTO TABLE lsnr_log
APPEND

(
day position(1:11),
time position(13:20),
message position(24:200)
)



####3. loader 수행

sqlldr userid=ibmdba04/"패스워드" control=/home/oracle/dba/ysbae/lsnr_log.ctl

Table "IBMDBA02"."LSNR_LOG":
  1876379 Rows successfully loaded.

Check the log file:
  lsnr_log.log
for more information about the load.





#####4. 확인

-------------------------[Start Time: 2022/04/22 14:56:56]-------------------------
SQL> select count(*) From lsnr_log;

COUNT(*)         
---------------- 
         1876379

1 rows selected.

 

 

loader 사용법에 참고가 된 사이트입니다.

http://wiki.gurubee.net/display/STUDY/SQL*Loader 

 

SQL*Loader - [종료]구루비 DB 스터디 - 개발자, DBA가 함께 만들어가는 구루비 지식창고!

Added by 이정헌, last edited by 이정헌 on 12월 01, 2012  (view change) 데이터 로딩과 언로딩 #데이터 로딩툴 SQL*Loader External 테이블 : external 테이블은 운영체제 파일을 데이터베이스 테이블처럼 조회할 수

wiki.gurubee.net

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=foreverkyh&logNo=90029808695 

 

SQL*LOADER SAMPLES

/********************************************* * SAMPLE : SQL*LOADER SAMPLES ...

blog.naver.com

 

반응형

댓글