Skip to content

Commit fac59e6

Browse files
committed
Update ORACLE DDL script to immediately create table segments
The default table segment creation in Oracle is DEFERRED. This means when Spring Batch tries to insert rows for the first time, it will compete with the Oracle process that tries to create segments lazily at the same time, which leads to an error. This commit changes the default table segment creation to IMMEDIATE. Resolves #1127
1 parent ef81b67 commit fac59e6

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

spring-batch-core/src/main/resources/org/springframework/batch/core/schema-oracle10g.sql

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ CREATE TABLE BATCH_JOB_INSTANCE (
66
JOB_NAME VARCHAR2(100 char) NOT NULL,
77
JOB_KEY VARCHAR2(32 char) NOT NULL,
88
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
9-
) ;
9+
) SEGMENT CREATION IMMEDIATE;
1010

1111
CREATE TABLE BATCH_JOB_EXECUTION (
1212
JOB_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY ,
@@ -22,7 +22,7 @@ CREATE TABLE BATCH_JOB_EXECUTION (
2222
JOB_CONFIGURATION_LOCATION VARCHAR(2500 char) NULL,
2323
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
2424
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
25-
) ;
25+
) SEGMENT CREATION IMMEDIATE;
2626

2727
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
2828
JOB_EXECUTION_ID NUMBER(19,0) NOT NULL ,
@@ -35,7 +35,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
3535
IDENTIFYING CHAR(1) NOT NULL ,
3636
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
3737
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
38-
) ;
38+
) SEGMENT CREATION IMMEDIATE;
3939

4040
CREATE TABLE BATCH_STEP_EXECUTION (
4141
STEP_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY ,
@@ -58,23 +58,23 @@ CREATE TABLE BATCH_STEP_EXECUTION (
5858
LAST_UPDATED TIMESTAMP,
5959
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
6060
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
61-
) ;
61+
) SEGMENT CREATION IMMEDIATE;
6262

6363
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
6464
STEP_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
6565
SHORT_CONTEXT VARCHAR2(2500 char) NOT NULL,
6666
SERIALIZED_CONTEXT CLOB ,
6767
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
6868
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
69-
) ;
69+
) SEGMENT CREATION IMMEDIATE;
7070

7171
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
7272
JOB_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
7373
SHORT_CONTEXT VARCHAR2(2500 char) NOT NULL,
7474
SERIALIZED_CONTEXT CLOB ,
7575
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
7676
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
77-
) ;
77+
) SEGMENT CREATION IMMEDIATE;
7878

7979
CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ START WITH 0 MINVALUE 0 MAXVALUE 9223372036854775807 ORDER NOCYCLE;
8080
CREATE SEQUENCE BATCH_JOB_EXECUTION_SEQ START WITH 0 MINVALUE 0 MAXVALUE 9223372036854775807 ORDER NOCYCLE;

0 commit comments

Comments
 (0)