1.3.3 -> 1.3.4 로 패치하기

DB 변경

DBMS 유형에 따라 DDL을 수행합니다.
시퀀스 2개, 테이블 2개가 추가되었습니다.

  1. Oracle 일 경우
    alter table SCHEDULE_JOB_INFO add DESCRIPTION varchar2(500);
    create sequence SQ_META_HISTORY_ID;
    create sequence SQ_SERVER_HISTORY_ID;
    
    create table SCHEDULE_META_HISTORY(
        META_HISTORY_ID number          not null,
        JOB_NAME        varchar2(150)   not null,
        JOB_GROUP       varchar2(150)   not null,
        SCHEDULER_NAME  varchar2(50),
        OPER_TYPE       char(1)         not null,
        OPER_SOURCE     varchar2(50)    not null,
        OPER_TARGET     char(2),
        TRIGGER_NAME    varchar2(150),
        TRIGGER_GROUP   varchar2(150),
        TARGET_KEY      varchar2(302),
        TARGET_DETAIL   varchar2(1500),
        OPER_TIME       timestamp       not null,
        constraint META_HISTORY_PK primary key(META_HISTORY_ID)
    );
    
    create table SCHEDULE_SERVER_HISTORY (
        HISTORY_ID      number          not null,
        SCHEDULER_NAME  varchar2(50)    not null,
        EVENT_TYPE      varchar2(150)   not null,
        EVENT_TIME      timestamp       not null,
        JOB_NAME        varchar2(150),
        JOB_GROUP       varchar2(150),
        TRIGGER_NAME    varchar2(150),
        TRIGGER_GROUP   varchar2(150),
        EVENT_DATA      varchar2(4000),
        EVENT_SRC_TYPE  varchar2(150),
        EVENT_SRC_INFO  varchar2(150),
        constraint SERVER_HISTORY_PK    primary key (HISTORY_ID)
    );
    
  2. PostgreSQL 일 경우
    alter table SCHEDULE_JOB_INFO add column DESCRIPTION varchar(500);
    create sequence SQ_META_HISTORY_ID   increment 1 minvalue 1 maxvalue 9223372036854775807 start 1 cache 1;
    create sequence SQ_SERVER_HISTORY_ID increment 1 minvalue 1 maxvalue 9223372036854775807 start 1 cache 1;
    
    create table SCHEDULE_META_HISTORY
    (
        META_HISTORY_ID numeric         not null,
        JOB_NAME        varchar(150)    not null,
        JOB_GROUP       varchar(150)    not null,
        SCHEDULER_NAME  varchar(50),
        OPER_TYPE       varchar(1)      not null,
        OPER_SOURCE     varchar(50)     not null,
        OPER_TARGET     varchar(2),
        TRIGGER_NAME    varchar(150),
        TRIGGER_GROUP   varchar(150),
        TARGET_KEY      varchar(302),
        TARGET_DETAIL   varchar(1500),
        OPER_TIME       timestamp       not null,
        primary key(META_HISTORY_ID)
    );
    
    create table SCHEDULE_SERVER_HISTORY (
        HISTORY_ID      numeric       not null,
        SCHEDULER_NAME  varchar(50)   not null,
        EVENT_TYPE      varchar(150)  not null,
        EVENT_TIME      timestamp     not null,
        JOB_NAME        varchar(150),
        JOB_GROUP       varchar(150),
        TRIGGER_NAME    varchar(150),
        TRIGGER_GROUP   varchar(150),
        EVENT_DATA      varchar(4000),
        EVENT_SRC_TYPE  varchar(150),
        EVENT_SRC_INFO  varchar(150),
        primary key (HISTORY_ID)
    );
    

Scheduler Server 패치

Scheduler Server 설치경로는 /SCH/CM/ 이라고 가정합니다.

  1. Scheduler Server 실행 라이브러리를 교체합니다.

    /SCH/CM/scheduler-server.jar             <-- 제공된 scheduler-server-1.2.5.zip 에 있는 것으로 교체
    /SCH/CM/lib/                             <-- 제공된 scheduler-server-1.2.5.zip 에 있는 것으로 교체
                                                   lib/glue-core-4.2.8-RELEASE.jar
                                                   lib/glue-schedule-4.2.8-RELEASE.jar
                                                   lib/glue-schema-4.2.8-RELEASE.jar
                                                   lib/license-api-1.1.5.jar
    
  2. Scheduler Server 실행 설정파일을 수정합니다.

    /SCH/CM/conf/glue.properties             <-- 수정
    /SCH/CM/conf/scheduler.properties        <-- 수정
    

    glue.properties 파일에 다음 2개 property를 추가합니다.

    quartz.listener.logging.enabled=true
    mina.iohandler.logging.enabled=true
    

    scheduler.properties 파일에 다음 1개 property를 추가합니다.

    • Oracle 인 경우
      cm-dataSource.validationQuery=select 1 from dual
      
    • PostgreSQL 인 경우
      cm-dataSource.validationQuery=select current_date
      
  3. Job 프로그램의 ClassPath로 잡힌 경로는 /SCH/CM/apps/usrlib 이라고 가정합니다.
    glue-scheduler-job-1.2.x.jar 를 삭제하고 scheduler-server-1.2.5.zip에 있는 것으로 복사합니다.

    /SCH/CM/apps/usrlib                      <-- Job 실행옵션의 ClassPath 로 지정된 위치