욱'S 노트

Spring Batch Tip - 작업 히스토리 테이블 삭제 스크립트 본문

Programming/Spring Batch

Spring Batch Tip - 작업 히스토리 테이블 삭제 스크립트

devsun 2015. 8. 21. 14:13

스프링 배치로 작업을 계속 수행하다보면 각 히스토리 데이터가 계속 생성된다.


이럴 경우 주기적으로 삭제를 해줄 필요가 있는데 FK가 많아서 생각보다 쉽지 않다. 


이에 삭제 스크립트를 정리해보았다. 아래는 8월 21일 전에 히스토리를 삭제하는 스크립트예이다.


DELETE FROM BATCH_STEP_EXECUTION_CONTEXT WHERE STEP_EXECUTION_ID IN (
SELECT STEP_EXECUTION_ID FROM BATCH_STEP_EXECUTION WHERE START_TIME < '20150821');

DELETE FROM BATCH_STEP_EXECUTION WHERE START_TIME < '20150821';

DELETE FROM BATCH_JOB_EXECUTION_CONTEXT WHERE JOB_EXECUTION_ID in (
SELECT JOB_EXECUTION_ID FROM BATCH_JOB_EXECUTION where CREATE_TIME < '20150821');

DELETE FROM BATCH_JOB_EXECUTION_PARAMS WHERE JOB_EXECUTION_ID in (
SELECT JOB_EXECUTION_ID FROM BATCH_JOB_EXECUTION where CREATE_TIME < '20150821');

DELETE FROM BATCH_JOB_EXECUTION where CREATE_TIME < '20150821';

DELETE FROM BATCH_JOB_INSTANCE WHERE JOB_INSTANCE_ID NOT IN (SELECT JOB_INSTANCE_ID FROM BATCH_JOB_EXECUTION);


Comments