본문 바로가기

ODI

ODI ETL JOB LOG 재처리 자동화 2.0 재처리 자동화 로직 목적 : 서버가 다운되던지 예상치 못한 작업 지연 발생시 로그테이블을두고 데이터 적재시간을 관리하여 지연 재처리를 자동화 하도록 구현한다. ETL_JOB_LOG V.2.0 로직 LOGIC DESCRIPTION 1. 데이터 추출 범위 설정 소스테이블에서 가져올 데이터의 기간 구간을 설정 (기준 : 1일) EX ) 1일 = 1, 1시간 = 1/24, 30분 = 1/48 2. 데이터 추출 시작 시간 설정 소스테이블에서 데이터를 가져올 추출 시작시간을 설정 ETL JOB LOG에 관리되는 테이블에서 마지막 추출 시간을 가져오는방식 해당 JOB의 로그가 발생되지 않은 상태에서는 현재시간을 가져오도록구현( 변경 가능 ) * 최초 시작시간을정확한 시간에 가져오고 싶을 경우 - 데이터를가라로 삽입하.. 더보기
ODI AGENT LOG MANAGEMENT #!/bin/bash # It used to run odi agent while it down. # wangdj 2010-7-26 odi_agent_count=`ps -ef|grep pinglog_agent|grep odi|grep -v grep|wc -l` if [ $odi_agent_count -ne 2 ]; then if [ $odi_agent_count -ne 1 ]; then . ~oracle/.odiprofile #ODI_HOME=/U01/app/oracle/product/odi/oracledi/ #cd $ODI_HOME/bin/ nohup $ODI_HOME/bin/agent.sh -PORT=29010 -NAME=pinglog_agent >> /tmp/odi_agent.log & fi fi S.. 더보기
odi master repository agent management 상용 물리적 스케쥴링 에이전트와 실행 에이전트 프로세스들이 떠있는 시스템이 죽었을때의 방책이 있을까? 가설 1 : 논리적 에이전트와 연결되어 있는 물리적 에이전트를 변경 시켜주어 unexpected shutdown 이 후 작업은 다른 시스템에서 떠 있는 스케쥴링 에이전트를 통해 진행하도록 구현한다. 다음의 테이블 정보를 보면 /* 물리적 Agent */ SELECT * FROM SNP_AGENT; /* 논리적 Agent */ SELECT * FROM SNP_LAGENT; /* Context 별 Agent 연결 정보 */ SELECT * FROM SNP_ALLOC_AGENT; /* Context */ SELECT * FROM SNP_CONTEXT; 위의 정보를 가지고 보면 SNP_ALLOC_AGENT 테이.. 더보기
ODI - Operator Log 삭제 Procedure -- Operator 로그 삭제하는 Procedure CREATE OR REPLACE PROCEDURE ODI_DELETE_LOG_BYDATE /*** Author : WideTNS Co. Usage : exec ODI_DELETE_LOG_BYDATE('20100101123000'); Producted date : 2010.05.25 ***/ ( p_date in VARCHAR2 /*** Type : VARCHAR2 Format : 'YYYYMMDDHH24MISS' Description : - criteria for judgement to delete Operator Log - delete logs executed before ***/ ) IS v_sessNo NUMBER; BEGIN DBMS_OUTPU.. 더보기
로그로 스케쥴링관리ODI ETL JOB LOG - v1.3 ODI ETL JOB LOG - v1.3 1. 목적 : 1. ETL Batch Job의 재처리 용이성, 2. 로그 테이블 관리를 통해 보다 쉽고 정확히 관리하기 위해 개발 2. 기능 : 1. 적재 시작 시간과 종료 시간저장을 통한 데이터 누수 확인의 용이성 2. 재처리 시, 기존의 배치주기를 유지하여 대용량을 한꺼번에 처리하지 않도록 구현 3. 재처리가 완료되었을 경우 바로 기존의 스케줄링 형태로 돌아가도록 구현 4. 재처리 작업 중, 스케쥴링에 의한 배치가 실행되었을 경우 하나만 실행되도록 구현 CREATE TABLE ETL_JOB_LOG ( SESS_NO NUMBER, SESS_NAME VARCHAR2 (30), ETL_START_TIME VARCHAR2 (14), ETL_END_TIME VARCHA.. 더보기