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
This commit is contained in:
@@ -6,7 +6,7 @@ CREATE TABLE BATCH_JOB_INSTANCE (
|
||||
JOB_NAME VARCHAR2(100 char) NOT NULL,
|
||||
JOB_KEY VARCHAR2(32 char) NOT NULL,
|
||||
constraint JOB_INST_UN unique (JOB_NAME, JOB_KEY)
|
||||
) ;
|
||||
) SEGMENT CREATION IMMEDIATE;
|
||||
|
||||
CREATE TABLE BATCH_JOB_EXECUTION (
|
||||
JOB_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY ,
|
||||
@@ -22,7 +22,7 @@ CREATE TABLE BATCH_JOB_EXECUTION (
|
||||
JOB_CONFIGURATION_LOCATION VARCHAR(2500 char) NULL,
|
||||
constraint JOB_INST_EXEC_FK foreign key (JOB_INSTANCE_ID)
|
||||
references BATCH_JOB_INSTANCE(JOB_INSTANCE_ID)
|
||||
) ;
|
||||
) SEGMENT CREATION IMMEDIATE;
|
||||
|
||||
CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
|
||||
JOB_EXECUTION_ID NUMBER(19,0) NOT NULL ,
|
||||
@@ -35,7 +35,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_PARAMS (
|
||||
IDENTIFYING CHAR(1) NOT NULL ,
|
||||
constraint JOB_EXEC_PARAMS_FK foreign key (JOB_EXECUTION_ID)
|
||||
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
|
||||
) ;
|
||||
) SEGMENT CREATION IMMEDIATE;
|
||||
|
||||
CREATE TABLE BATCH_STEP_EXECUTION (
|
||||
STEP_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY ,
|
||||
@@ -58,7 +58,7 @@ CREATE TABLE BATCH_STEP_EXECUTION (
|
||||
LAST_UPDATED TIMESTAMP,
|
||||
constraint JOB_EXEC_STEP_FK foreign key (JOB_EXECUTION_ID)
|
||||
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
|
||||
) ;
|
||||
) SEGMENT CREATION IMMEDIATE;
|
||||
|
||||
CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
|
||||
STEP_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
|
||||
@@ -66,7 +66,7 @@ CREATE TABLE BATCH_STEP_EXECUTION_CONTEXT (
|
||||
SERIALIZED_CONTEXT CLOB ,
|
||||
constraint STEP_EXEC_CTX_FK foreign key (STEP_EXECUTION_ID)
|
||||
references BATCH_STEP_EXECUTION(STEP_EXECUTION_ID)
|
||||
) ;
|
||||
) SEGMENT CREATION IMMEDIATE;
|
||||
|
||||
CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
|
||||
JOB_EXECUTION_ID NUMBER(19,0) NOT NULL PRIMARY KEY,
|
||||
@@ -74,7 +74,7 @@ CREATE TABLE BATCH_JOB_EXECUTION_CONTEXT (
|
||||
SERIALIZED_CONTEXT CLOB ,
|
||||
constraint JOB_EXEC_CTX_FK foreign key (JOB_EXECUTION_ID)
|
||||
references BATCH_JOB_EXECUTION(JOB_EXECUTION_ID)
|
||||
) ;
|
||||
) SEGMENT CREATION IMMEDIATE;
|
||||
|
||||
CREATE SEQUENCE BATCH_STEP_EXECUTION_SEQ START WITH 0 MINVALUE 0 MAXVALUE 9223372036854775807 ORDER NOCYCLE;
|
||||
CREATE SEQUENCE BATCH_JOB_EXECUTION_SEQ START WITH 0 MINVALUE 0 MAXVALUE 9223372036854775807 ORDER NOCYCLE;
|
||||
|
||||
Reference in New Issue
Block a user