반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 국비개발학원
- 국비학원리뷰
- 자바
- 백로계절
- JAVA1
- java
- 백로특징
- 개발자학원
- 테이블객체
- 백로뜻
- 대전 국비
- 스프링 배치
- 오라클xe
- 테이블 저장 예제
- 슈가먄
- 스프링 스키마
- 인스턴스상태확인
- 트라몰정 325mg
- 트라몰정
- 미국 태풍경보센터
- 부린이뜻
- 요즘말
- OracleSQL
- 오라클
- 개발자
- 국비학원
- 요린이뜻
- 엠비엔 편성표
- MSG워너비나얼
- oracle
Archives
- Today
- Total
정보의 보물창고
[스프링 배치] 스프링 배치 테이블 구조 본문
반응형
테이블 종류
Job 관련 테이블
- BATCH_JOB_INSTANCE
- Job 이 실행될 때 JobInstance 정보가 저장되며 job_name과 job_key를 키로 하여 하나의 데이터가 저장
- 동일한 job_name 과 job_key 로 중복 저장될 수 없다
- BATCH_JOB_EXECUTION
- job 의 실행정보가 저장되며 Job 생성, 시작, 종료 시간, 실행상태, 메시지 등을 관리
- BATCH_JOB_EXECUTION_PARAMS
- Job과 함께 실행되는 JobParameter 정보를 저장
- BATCH_JOB_EXECUTION_CONTEXT
- Job 의 실행동안 여러가지 상태정보, 공유 데이터를 직렬화 (Json 형식) 해서 저장
- Step 간 서로 공유 가능함
Step 관련 테이블
- BATCH_STEP_EXECUTION
- Step 의 실행정보가 저장되며 생성, 시작, 종료 시간, 실행상태, 메시지 등을 관리
- BATCH_STEP_EXECUTION_CONTEXT
- Step 의 실행동안 여러가지 상태정보, 공유 데이터를 직렬화 (Json 형식) 해서 저장
- Step 별로 저장되며 Step 간 서로 공유할 수 없음
테이블 상세 컬럼
BATCH_JOB_INSTANCE
CREATE TABLE BATCH_JOB_INSTANCE (
JOB_INSTANCE_ID BIGINT PRIMARY KEY ,
VERSION BIGINT,
JOB_NAME VARCHAR(100) NOT NULL ,
JOB_KEY VARCHAR(2500)
);
JOB_INSTANCE_ID | 고유하게 식별할 수 있는 기본 키 |
---|---|
VERSION | 업데이트 될 때 마다 1씩 증가 |
JOB_NAME | Job 을 구성할 때 부여하는 Job 의 이름 |
JOB_KEY | job_name과 jobParameter 를 합쳐 해싱한 값을 저장 |
BATCH_JOB_EXECUTION
CREATE TABLE BATCH\_JOB\_EXECUTION (
JOB\_EXECUTION\_ID BIGINT PRIMARY KEY ,
VERSION BIGINT,
JOB\_INSTANCE\_ID BIGINT NOT NULL,
CREATE\_TIME TIMESTAMP NOT NULL,
START\_TIME TIMESTAMP DEFAULT NULL,
END\_TIME TIMESTAMP DEFAULT NULL,
STATUS VARCHAR(10),
EXIT\_CODE VARCHAR(20),
EXIT\_MESSAGE VARCHAR(2500),
LAST\_UPDATED TIMESTAMP,
JOB\_CONFIGURATION\_LOCATION VARCHAR(2500) NULL,
);
JOB_EXECUTION_ID | JobExecution 을 고유하게 식별할 수 있는 기본 키, JOB_INSTANCE 와 일대 다 관계 |
---|---|
VERSION | 업데이트 될 때마다 1씩 증가 |
JOB_INSTANCE_ID | JOB_INSTANCE 의 키 저장 |
CREATE_TIME | 실행(Execution)이 생성된 시점을 TimeStamp 형식으로 기록 |
START_TIME | 실행(Execution)이 시작된 시점을 TimeStamp 형식으로 기록 |
END_TIME | 실행이 종료된 시점을 TimeStamp으로 기록하며 Job 실행 도중 오류가 발생해서 Job 이 중단된 경우 값이 저장되지 않을 수 있음 |
STATUS | 실행 상태 (BatchStatus)를 저장 (COMPLETED, FAILED, STOPPED…) |
EXIT_CODE | 실행 종료코드(ExitStatus) 를 저장 (COMPLETED, FAILED…) |
EXIT_MESSAGE | Status가 실패일 경우 실패 원인 등의 내용을 저장 |
LAST_UPDATED | 마지막 실행(Execution) 시점을 TimeStamp 형식으로 기록 |
BATCH_JOB_EXECUTION_PARAMS
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
JOB_EXECUTION_ID BIGINT NOT NULL ,
TYPE_CD VARCHAR(6) NOT NULL ,
KEY_NAME VARCHAR(100) NOT NULL ,
STRING_VAL VARCHAR(250) ,
DATE_VAL DATETIME DEFAULT NULL ,
LONG_VAL BIGINT ,
DOUBLE_VAL DOUBLE PRECISION ,
IDENTIFYING CHAR(1) NOT NULL)
);
JOB_EXECUTION_ID | JobExecution 식별 키, JOB_EXECUTION 과는 일대다 관계 | |
---|---|---|
TYPE_CD | STRING, LONG, DATE, DUBLE 타입정보 | |
KEY_NAME | 파라미터 키 값 | |
STRING_VAL | 파라미터 문자 값 | |
DATE_VAL | 파라미터 날짜 값 | |
LONG_VAL | 파라미터 LONG 값 | |
DOUBLE_VAL | 파라미터 DOUBLE 값 | |
IDENTIFYING | 식별여부 (TRUE, FALSE) |
BATCH_JOB_EXECUTION_CONTEXT
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
JOB_EXECUTION_ID BIGINT PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT CLOB
);
JOB_EXECUTION_ID | JobExecution 식별 키, JOB_EXECUTION 마다 각 생성 |
---|---|
SHORT_CONTEXT | JOB 의 실행 상태정보, 공유데이터 등의 정보를 문자열로 저장 |
SERIALIZED_CONTEXT | 직렬화(serialized)된 전체 컨텍스트 |
BATCH_STEP_EXECUTION
CREATE TABLE BATCH_STEP_EXECUTION (
STEP_EXECUTION_ID BIGINT PRIMARY KEY ,
VERSION BIGINT NOT NULL,
STEP_NAME VARCHAR(100) NOT NULL,
JOB_EXECUTION_ID BIGINT NOT NULL,
START_TIME TIMESTAMP NOT NULL ,
END_TIME TIMESTAMP DEFAULT NULL,
STATUS VARCHAR(10),
COMMIT_COUNT BIGINT ,
READ_COUNT BIGINT ,
FILTER_COUNT BIGINT ,
WRITE_COUNT BIGINT ,
READ_SKIP_COUNT BIGINT ,
WRITE_SKIP_COUNT BIGINT ,
PROCESS_SKIP_COUNT BIGINT ,
ROLLBACK_COUNT BIGINT ,
EXIT_CODE VARCHAR(20) ,
EXIT_MESSAGE VARCHAR(2500) ,
LAST_UPDATED TIMESTAMP
);
STEP_EXECUTION_ID | Step 의 실행정보를 고유하게 식별할 수 있는 기본 키 |
---|---|
VERSION | 업데이트 될 때마다 1씩 증가 |
STEP_NAME | Step 을 구성할 때 부여하는 Step 이름 |
JOB_EXECUTION_ID | JobExecution 기본키, JobExecution 과는 일대 다 관계 |
START_TIME | 실행(Execution)이 시작된 시점을 TimeStamp 형식으로 기록 |
END_TIME | 실행이 종료된 시점을 TimeStamp 으로 기록하며 Job 실행 도중 오류가 발생해서 Job 이 중단된 경우 값이 저장되지 않을 수 있음 |
STATUS | 실행 상태 (BatchStatus)를 저장 (COMPLETED, FAILED, STOPPED…) |
COMMIT_COUNT | 트랜잭션 당 커밋되는 수를 기록 |
READ_COUNT | 실행시점에 Read한 Item 수를 기록 |
FILTER_COUNT | 실행도중 필터링된 Item 수를 기록 |
WRITE_COUNT | 실행도중 저장되고 커밋된 Item 수를 기록 |
READ_SKIP_COUNT | 실행도중 Read가 Skip 된 Item 수를 기록 |
WRITE_SKIP_COUNT | 실행도중 write가 Skip된 Item 수를 기록 |
PROCESS_SKIP_COUNT | 실행도중 Process가 Skip 된 Item 수를 기록 |
ROLLBACK_COUNT | 실행도중 rollback이 일어난 수를 기록 |
EXIT_CODE | 실행 종료코드(ExitStatus) 를 저장 (COMPLETED, FAILED…) |
EXIT_MESSAGE | Status가 실패일 경우 실패 원인 등의 내용을 저장 |
LAST_UPDATED | 마지막 실행(Execution) 시점을 TimeStamp 형식으로 기록 |
BATCH_STEP_EXECUTION
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
STEP_EXECUTION_ID BIGINT PRIMARY KEY,
SHORT_CONTEXT VARCHAR(2500) NOT NULL,
SERIALIZED_CONTEXT CLOB
);
STEP_EXECUTION_ID | StepExecution 식별 키, STEP_EXECUTION 마다 각 생성 |
---|---|
SHORT_CONTEXT | STEP 의 실행 상태정보, 공유데이터 등의 정보를 문자열로 저장 |
SERIALIZED_CONTEXT | 직렬화(serialized)된 전체 컨텍스트 |
반응형