Home
Spring
Spring Batch - table or view does not exist
devfoxstar
devfoxstar
February 26, 2023
1 min

Table Of Contents

01
오류
02
Spring Batch Meta-Data Table
03
해결
04
참고

Spring Batch를 작업하고 처음 실행하면 만날 수 있는 오류입니다.
Spring Batch는 작업마다 로그를 Meta-Data Table에 기록합니다.

이때 해당 테이블이 없는 경우 아래 오류가 발생합니다.

오류


Caused by: org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback;  
bad SQL grammar [SELECT JOB_INSTANCE_ID, JOB_NAME from BATCH_JOB_INSTANCE where JOB_NAME = ? and JOB_KEY = ?];  
nested exception is java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist

Spring Batch Meta-Data Table


Spring Batch Meta-Data ERD
Spring Batch Meta-Data ERD

해결


해결 방법은 간단합니다. 해당 테이블을 생성하면 됩니다.

테이블은 자동으로 생성할 수도 있고, 수동으로 생성할 수도 있습니다.
application.properties 또는 application.yml 파일에 옵션을 추가하면 됩니다.

먼저 자동 생성 스키마 초기화 옵션입니다.

spring.batch.jdbc.initialize-schema=always

수동 생성은 옵션을 불가로 변경하고, 직접 디비에서 테이블을 생성하면 됩니다.
관련 테이블 스키마는 아래 참고 페이지에 있습니다.

spring.batch.jdbc.initialize-schema=never

참고로 Embeded DataSource를 사용하는 경우는 별도 옵션이 있습니다.

spring.batch.jdbc.initialize-schema=embeded

참고


The Spring Batch Metadata tables


Tags

#Spring#SpringBatch#Batch#MetaTable

Related Posts

Gradle Java Toolchain 버전 오류
November 24, 2024
1 min
© 2024, All Rights Reserved.

Quick Links

About Me

Media