제공파일을 이용해 Table을 생성합니다.
Quartz JobStore 용 Table은 선택사항이며, 권한관리용 Table과 Glue JobMeta용 Table은 필수 생성 대상입니다.
script 에는 drop 문이 포함되어 있으니, 실행시 기존 데이터가 삭제되지 않도록 주의하시기 바랍니다.
database 연결
script 실행 ( ERD 참고 )
@security/table_oracle.sql
database 연결
script 실행 ( ERD 참고 )
@scheduler/table_oracle.sql
Quartz JobStore 용 Table 생성
database 연결
script 실행 ( Quartz JDBCJobStore 참고 )
@quartz-2.2.2/table_oracle.sql
Tip
계정 생성
create user GLUESCH identified by pass; grant resource, connect to GLUESCH;
권한 부여
grant DELETE,INSERT,UPDATE,SELECT on "GLUESCH"."SCHEDULE_JOB_INFO" to "SCOTT";
synonym 생성
create public synonym SCHEDULE_JOB_INFO for GLUESCH.SCHEDULE_JOB_INFO;
tables_postgres.sql 제공파일을 이용해 Table을 생성합니다.
tables_mysql.sql 제공파일을 이용해 Table을 생성합니다.
InnoDB 엔진을 사용할 경우에 한해, innodb_file_format는 Antelope 일 때는 index column 의 크기에 제한이 있어 제공된 DDL로 table 생성이 되지 않을 수 있습니다.
ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
이 경우에는 innodb_file_format 을 Barracuda 로 설정, innodb_default_row_format 을 dynamic 혹은 compressed 로 설정하여 생성해야 합니다.
set global innodb_file_format = Barracuda; set global innodb_file_format_max = Barracuda; set global innodb_large_prefix = on; set global innodb_default_row_format = dynamic; CREATE TABLE qrtz_job_details ( SCHED_NAME VARCHAR(120) NOT NULL , JOB_NAME VARCHAR(200) CHARACTER SET binary NOT NULL , JOB_GROUP VARCHAR(200) CHARACTER SET binary NOT NULL, ... );
여건 상 변경이 불가한 경우에는 컬럼 길이를 줄여서 사용한다 (비권장 사항)
파일명 : db_script/quartz-x.x.x/tables_mysql.sql 대상 컬럼 : JOB_NAME,JOB_GROUP,TRIGGER_NAME,TRIGGER_GROUP,INSTANCE_NAME,CALENDAR_NAME 길이 : 200자 --> 190자 변경 할 테이블 qrtz_로 시작하는 모든 테이블(qrtz_locks 제외)
파일명 : db_script/scheduler/tables_mysql.sql 대상 컬럼 : JOB_NAME,JOB_GROUP,TRIGGER_NAME,TRIGGER_GROUP 길이 : 150자 --> 140자 변경 할 테이블 SCHEDULE_JOB_DATA_INFO SCHEDULE_JOB_HISTORY SCHEDULE_JOB_INFO SCHEDULE_JOB_RUN_OPTION SCHEDULE_META_HISTORY SCHEDULE_SERVER_HISTORY SCHEDULE_TRIGGER_INFO
또는 아래와 같이 문제가 되는 컬럼의 속성을 CHARACTER SET binary 로 설정할 수 있으나 한글등에 변형이 생길 수 있어 권장하지 않습니다.
CREATE TABLE qrtz_job_details ( SCHED_NAME VARCHAR(120) NOT NULL , JOB_NAME VARCHAR(200) CHARACTER SET binary NOT NULL , JOB_GROUP VARCHAR(200) CHARACTER SET binary NOT NULL, DESCRIPTION VARCHAR(250) NULL,
위와 같은 이유로 타 DB에서 MySQL(Maria) 의 InnoDB로 데이터를 마이그레이션 할 경우에는 해당 컬럼의 길이를 초과하게 되지 않는 지 주의하여야 합니다.