DolphinScheduler部署之在Oracle系统库部署

本文章提供了在Oracle系统库上部署DolphinScheduler的所有文件和配置,整理不易,如帮到您,请给文章留个言即可,如有问题大家可以多多交流。

DolphinScheduler版本:3.2.0

Oracle版本:19c

本文章不提供简单的安装部署说明,只说怎么配置才能在Oracle数据库上启动以及相关的文件。

启动模块为:api、master、worker,以及注册中心也使用Oracle系统库。

1、三个工程的pom文件增加oracle数据库驱动

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.10.0.0</version>
    <scope>provided</scope>
</dependency>

2、api、master、worker工程application.yaml文件修改

数据库连接修改

profiles:
  active: oracle
datasource:
  driver-class-name: oracle.jdbc.driver.OracleDriver
  url: jdbc:oracle:thin:@127.0.0.1:1521/orcl
  username: aaaa
  password: aaaa
  hikari:
    connection-test-query: select 1 FROM DUAL

 注册中心使用数据库

registry:
  type: jdbc
  term-refresh-interval: 2s
  term-expire-times: 3
  hikari-config:
    jdbc-url: jdbc:oracle:thin:@127.0.0.1:1521/orcl
    username: AAAA
    password: AAAA
    maximum-pool-size: 5
    connection-timeout: 9000
    idle-timeout: 600000

3、DAO层的SpringConnectionFactory.java中修改:

databaseIdProvider方法中增加一行:
properties.setProperty("Oracle", "oracle");

类中增加:

@Bean
@Primary
@Profile("oracle")
public DbType oracle() {
    return DbType.ORACLE_12C;
}

4、注册中心的oracle数据库表创建

-- ----------------------------
-- Table: t_ds_jdbc_registry_data
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_JDBC_REGISTRY_DATA';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_JDBC_REGISTRY_DATA (
     ID NUMBER(11) generated by default as IDENTITY NOT NULL,
     DATA_KEY VARCHAR2(256) NOT NULL,
     DATA_VALUE CLOB,
     DATA_TYPE NUMBER(4) NOT NULL,
     LAST_TERM NUMBER NOT NULL,
     LAST_UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
     CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
     PRIMARY KEY (ID)
);

CREATE UNIQUE INDEX UQ_T_DS_JDBC_REG_DATA_KEY ON T_DS_JDBC_REGISTRY_DATA(DATA_KEY);

CREATE OR REPLACE TRIGGER TRG_JDBC_REGISTRY_DATA_TIME
BEFORE UPDATE ON T_DS_JDBC_REGISTRY_DATA
                         FOR EACH ROW
BEGIN
    :new.LAST_UPDATE_TIME := CURRENT_TIMESTAMP;
END;
/

-- ----------------------------
-- Table: t_ds_jdbc_registry_lock
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_JDBC_REGISTRY_LOCK';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_JDBC_REGISTRY_LOCK (
     ID NUMBER(11) NOT NULL,
     LOCK_KEY VARCHAR2(256) NOT NULL,
     LOCK_OWNER VARCHAR2(256) NOT NULL,
     LAST_TERM NUMBER NOT NULL,
     LAST_UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
     CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
     PRIMARY KEY (ID)
);

CREATE UNIQUE INDEX UQ_T_DS_JDBC_REG_LOCK_KEY ON T_DS_JDBC_REGISTRY_LOCK(LOCK_KEY);

CREATE OR REPLACE TRIGGER TRG_T_DS_JDBC_REG_LOCK_UPDATE
BEFORE UPDATE ON T_DS_JDBC_REGISTRY_LOCK
                  FOR EACH ROW
BEGIN
    :NEW.LAST_UPDATE_TIME := CURRENT_TIMESTAMP;
END;
/

5、DolphinScheduler系统运行的表结构

-- ================================
-- Table: QRTZ_BLOB_TRIGGERS
-- ================================
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_BLOB_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_BLOB_TRIGGERS (
               SCHED_NAME     VARCHAR2(120) NOT NULL,
               TRIGGER_NAME   VARCHAR2(200) NOT NULL,
               TRIGGER_GROUP  VARCHAR2(200) NOT NULL,
               BLOB_DATA      BLOB,
               CONSTRAINT QRTZ_BLOB_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
);

-- ================================
-- Table: QRTZ_CALENDARS
-- ================================
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_CALENDARS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_CALENDARS (
           SCHED_NAME     VARCHAR2(120) NOT NULL,
           CALENDAR_NAME  VARCHAR2(200) NOT NULL,
           CALENDAR       BLOB NOT NULL,
           CONSTRAINT QRTZ_CALENDARS_PK PRIMARY KEY (SCHED_NAME, CALENDAR_NAME)
);

-- ================================
-- Table: QRTZ_CRON_TRIGGERS
-- ================================
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_CRON_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_CRON_TRIGGERS (
               SCHED_NAME        VARCHAR2(120) NOT NULL,
               TRIGGER_NAME      VARCHAR2(200) NOT NULL,
               TRIGGER_GROUP     VARCHAR2(200) NOT NULL,
               CRON_EXPRESSION   VARCHAR2(120) NOT NULL,
               TIME_ZONE_ID      VARCHAR2(80),
               CONSTRAINT QRTZ_CRON_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
);

-- ================================
-- Table: QRTZ_FIRED_TRIGGERS
-- ================================
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_FIRED_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_FIRED_TRIGGERS (
                SCHED_NAME          VARCHAR2(120) NOT NULL,
                ENTRY_ID            VARCHAR2(200) NOT NULL,
                TRIGGER_NAME        VARCHAR2(200) NOT NULL,
                TRIGGER_GROUP       VARCHAR2(200) NOT NULL,
                INSTANCE_NAME       VARCHAR2(200) NOT NULL,
                FIRED_TIME          NUMBER(13) NOT NULL,
                SCHED_TIME          NUMBER(13) NOT NULL,
                PRIORITY            NUMBER(11) NOT NULL,
                STATE               VARCHAR2(16) NOT NULL,
                JOB_NAME            VARCHAR2(200),
                JOB_GROUP           VARCHAR2(200),
                IS_NONCONCURRENT    VARCHAR2(1),
                REQUESTS_RECOVERY   VARCHAR2(1),
                CONSTRAINT QRTZ_FIRED_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, ENTRY_ID)
);

-- 转换MySQL的KEY为Oracle索引(索引名缩短至30字符内)
CREATE INDEX IDX_FT_TRIG_INST_NM ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, INSTANCE_NAME);
CREATE INDEX IDX_FT_INST_JOB_RCV ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, INSTANCE_NAME, REQUESTS_RECOVERY);
CREATE INDEX IDX_FT_JOB_GROUP ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, JOB_NAME, JOB_GROUP);
CREATE INDEX IDX_FT_JG ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, JOB_GROUP);
CREATE INDEX IDX_FT_TRIG_GROUP ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP);
CREATE INDEX IDX_FT_TG ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, TRIGGER_GROUP);



-- ----------------------------
-- Table: QRTZ_JOB_DETAILS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_JOB_DETAILS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_JOB_DETAILS (
             SCHED_NAME         VARCHAR2(120) NOT NULL,
             JOB_NAME           VARCHAR2(200) NOT NULL,
             JOB_GROUP          VARCHAR2(200) NOT NULL,
             DESCRIPTION        VARCHAR2(250),
             JOB_CLASS_NAME     VARCHAR2(250) NOT NULL,
             IS_DURABLE         VARCHAR2(1) NOT NULL,
             IS_NONCONCURRENT   VARCHAR2(1) NOT NULL,
             IS_UPDATE_DATA     VARCHAR2(1) NOT NULL,
             REQUESTS_RECOVERY  VARCHAR2(1) NOT NULL,
             JOB_DATA           BLOB,
             CONSTRAINT QRTZ_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME, JOB_NAME, JOB_GROUP)
);

-- 索引
CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS (SCHED_NAME, REQUESTS_RECOVERY);
CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS (SCHED_NAME, JOB_GROUP);


-- ----------------------------
-- Table: QRTZ_LOCKS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_LOCKS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_LOCKS (
       SCHED_NAME  VARCHAR2(120) NOT NULL,
       LOCK_NAME   VARCHAR2(40) NOT NULL,
       CONSTRAINT QRTZ_LOCKS_PK PRIMARY KEY (SCHED_NAME, LOCK_NAME)
);


-- ----------------------------
-- Table: QRTZ_PAUSED_TRIGGER_GRPS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS (
      SCHED_NAME      VARCHAR2(120) NOT NULL,
      TRIGGER_GROUP   VARCHAR2(200) NOT NULL,
      CONSTRAINT QRTZ_PAUSED_TRIGGER_GRPS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_GROUP)
);


-- ----------------------------
-- Table: QRTZ_SCHEDULER_STATE
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_SCHEDULER_STATE';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_SCHEDULER_STATE (
                 SCHED_NAME         VARCHAR2(120) NOT NULL,
                 INSTANCE_NAME      VARCHAR2(200) NOT NULL,
                 LAST_CHECKIN_TIME  NUMBER(13) NOT NULL,
                 CHECKIN_INTERVAL   NUMBER(13) NOT NULL,
                 CONSTRAINT QRTZ_SCHEDULER_STATE_PK PRIMARY KEY (SCHED_NAME, INSTANCE_NAME)
);


-- ----------------------------
-- Table: QRTZ_SIMPLE_TRIGGERS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_SIMPLE_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
                 SCHED_NAME        VARCHAR2(120) NOT NULL,
                 TRIGGER_NAME      VARCHAR2(200) NOT NULL,
                 TRIGGER_GROUP     VARCHAR2(200) NOT NULL,
                 REPEAT_COUNT      NUMBER(7) NOT NULL,
                 REPEAT_INTERVAL   NUMBER(12) NOT NULL,
                 TIMES_TRIGGERED   NUMBER(10) NOT NULL,
                 CONSTRAINT QRTZ_SIMPLE_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
);

-- ----------------------------
-- Table: QRTZ_SIMPROP_TRIGGERS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_SIMPROP_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_SIMPROP_TRIGGERS (
                  SCHED_NAME        VARCHAR2(120) NOT NULL,
                  TRIGGER_NAME      VARCHAR2(200) NOT NULL,
                  TRIGGER_GROUP     VARCHAR2(200) NOT NULL,
                  STR_PROP_1        VARCHAR2(512),
                  STR_PROP_2        VARCHAR2(512),
                  STR_PROP_3        VARCHAR2(512),
                  INT_PROP_1        NUMBER(11),
                  INT_PROP_2        NUMBER(11),
                  LONG_PROP_1       NUMBER(20),
                  LONG_PROP_2       NUMBER(20),
                  DEC_PROP_1        DECIMAL(13,4),
                  DEC_PROP_2        DECIMAL(13,4),
                  BOOL_PROP_1       VARCHAR2(1),
                  BOOL_PROP_2       VARCHAR2(1),
                  CONSTRAINT QRTZ_SIMPROP_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
);



-- ----------------------------
-- Table: QRTZ_TRIGGERS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_TRIGGERS (
          SCHED_NAME        VARCHAR2(120) NOT NULL,
          TRIGGER_NAME      VARCHAR2(200) NOT NULL,
          TRIGGER_GROUP     VARCHAR2(200) NOT NULL,
          JOB_NAME          VARCHAR2(200) NOT NULL,
          JOB_GROUP         VARCHAR2(200) NOT NULL,
          DESCRIPTION       VARCHAR2(250),
          NEXT_FIRE_TIME    NUMBER(13),
          PREV_FIRE_TIME    NUMBER(13),
          PRIORITY          NUMBER(11),
          TRIGGER_STATE     VARCHAR2(16) NOT NULL,
          TRIGGER_TYPE      VARCHAR2(8) NOT NULL,
          START_TIME        NUMBER(13) NOT NULL,
          END_TIME          NUMBER(13),
          CALENDAR_NAME     VARCHAR2(200),
          MISFIRE_INSTR     NUMBER(2),
          JOB_DATA          BLOB,
          CONSTRAINT QRTZ_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
);

-- 索引(共12个,已缩短部分名称)
CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS (SCHED_NAME, JOB_NAME, JOB_GROUP);
CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS (SCHED_NAME, JOB_GROUP);
CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS (SCHED_NAME, CALENDAR_NAME);
CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_GROUP);
CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_GROUP, TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_NFT ON QRTZ_TRIGGERS (SCHED_NAME, NEXT_FIRE_TIME); -- 原IDX_QRTZ_T_NEXT_FIRE_TIME 缩短
CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_STATE, NEXT_FIRE_TIME);
CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS (SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME);
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS (SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME, TRIGGER_STATE);
CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS (SCHED_NAME, MISFIRE_INSTR, NEXT_FIRE_TIME, TRIGGER_GROUP, TRIGGER_STATE);

-- ----------------------------
-- Table: t_ds_access_token
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_access_token';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_access_token (
              id             NUMBER(11) generated by default as IDENTITY NOT NULL,
              user_id        NUMBER(11),
              token          VARCHAR2(64),
              expire_time    DATE,
              create_time    DATE,
              update_time    DATE,
              CONSTRAINT pk_t_ds_access_token PRIMARY KEY (id)
);

-- ----------------------------
-- Table: t_ds_alert
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_alert';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_alert (
       id                    NUMBER(11) generated by default as IDENTITY NOT NULL,
       title                 VARCHAR2(512),
       sign                  CHAR(40) NOT NULL,
       content               CLOB,
       alert_status          NUMBER(4) DEFAULT 0,
       warning_type          NUMBER(4) DEFAULT 2,
       log                   CLOB,
       alertgroup_id         NUMBER(11),
       create_time           DATE,
       update_time           DATE,
       project_code          NUMBER(20),
       process_definition_code NUMBER(20),
       process_instance_id   NUMBER(11),
       alert_type            NUMBER(11),
       CONSTRAINT pk_t_ds_alert PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_t_ds_alert_status ON t_ds_alert (alert_status);
CREATE INDEX idx_t_ds_alert_sign ON t_ds_alert (sign);


-- ----------------------------
-- Table: t_ds_alertgroup
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_alertgroup';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_alertgroup (
     id                  NUMBER(11) generated by default as IDENTITY NOT NULL,
     alert_instance_ids  VARCHAR2(255),
     create_user_id      NUMBER(11),
     group_name          VARCHAR2(255),
     description         VARCHAR2(255),
     create_time         DATE,
     update_time         DATE,
     CONSTRAINT pk_t_ds_alertgroup PRIMARY KEY (id),
     CONSTRAINT uk_t_ds_alertgroup_name UNIQUE (group_name)
);



-- ----------------------------
-- Table: t_ds_command
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_command';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_command (
          id   NUMBER(11) generated by default as IDENTITY NOT NULL,
          command_type              NUMBER(4),
          process_definition_code   NUMBER(20) NOT NULL,
          process_definition_version NUMBER(11) DEFAULT 0,
          process_instance_id       NUMBER(11) DEFAULT 0,
          command_param             CLOB,
          task_depend_type          NUMBER(4),
          failure_strategy          NUMBER(4) DEFAULT 0,
          warning_type              NUMBER(4) DEFAULT 0,
          warning_group_id          NUMBER(11),
          schedule_time             DATE,
          start_time                DATE,
          executor_id               NUMBER(11),
          update_time               DATE,
          process_instance_priority NUMBER(11)  DEFAULT 2,
          worker_group              VARCHAR2(255),
          tenant_code               VARCHAR2(64),
          environment_code          NUMBER(20) DEFAULT -1,
          dry_run                   NUMBER(4) DEFAULT 0,
          test_flag                 NUMBER(4),
          CONSTRAINT pk_t_ds_command PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_t_ds_command_priority ON t_ds_command (process_instance_priority, id);

-- ----------------------------
-- Table: t_ds_datasource
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_datasource';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_datasource (
            id                  NUMBER(11) generated by default as IDENTITY NOT NULL,
            name                VARCHAR2(64) NOT NULL,
            note                VARCHAR2(255),
            type                NUMBER(4) NOT NULL,
            user_id             NUMBER(11) NOT NULL,
            connection_params   CLOB NOT NULL,
            create_time         DATE NOT NULL,
            update_time         DATE,
            CONSTRAINT pk_t_ds_datasource PRIMARY KEY (id),
            CONSTRAINT uk_t_ds_datasource_name_type UNIQUE (name, type)
);



-- ----------------------------
-- Table: t_ds_error_command
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_error_command';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_error_command (
        id   NUMBER(11) NOT NULL,
        command_type              NUMBER(4),
        executor_id               NUMBER(11),
        process_definition_code   NUMBER(20) NOT NULL,
        process_definition_version NUMBER(11) DEFAULT 0,
        process_instance_id       NUMBER(11) DEFAULT 0,
        command_param             CLOB,
        task_depend_type          NUMBER(4),
        failure_strategy          NUMBER(4) DEFAULT 0,
        warning_type              NUMBER(4) DEFAULT 0,
        warning_group_id          NUMBER(11),
        schedule_time             DATE,
        start_time                DATE,
        update_time               DATE,
        process_instance_priority NUMBER(11) DEFAULT 2,
        worker_group              VARCHAR2(255),
        tenant_code               VARCHAR2(64),
        environment_code          NUMBER(20),
        message                   CLOB,
        dry_run                   NUMBER(4) DEFAULT 0,
        test_flag                 NUMBER(4),
        CONSTRAINT pk_t_ds_error_command PRIMARY KEY (id)
);

-- ----------------------------
-- Table: t_ds_process_definition
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_process_definition';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_process_definition (
     id                    NUMBER(11) generated by default as IDENTITY NOT NULL,
     code                  NUMBER(20) NOT NULL,
     name                  VARCHAR2(255),
     version               NUMBER(11) DEFAULT 0,
     description           CLOB,
     project_code          NUMBER(20) NOT NULL,
     release_state         NUMBER(4),
     user_id               NUMBER(11),
     global_params         CLOB,
     flag                  NUMBER(4),
     locations             CLOB,
     warning_group_id      NUMBER(11),
     timeout               NUMBER(11) DEFAULT 0,
     execution_type        NUMBER(4) DEFAULT 0,
     create_time           DATE NOT NULL,
     update_time           DATE NOT NULL,
     CONSTRAINT pk_t_ds_process_definition PRIMARY KEY (id, code),
     CONSTRAINT uk_t_ds_process_definition_name_project UNIQUE (name, project_code)
);


-- ----------------------------
-- Table: t_ds_process_definition_log
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_process_definition_log';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_process_definition_log (
         id                    NUMBER(11) generated by default as IDENTITY NOT NULL,
         code                  NUMBER(20) NOT NULL,
         name                  VARCHAR2(255),
         version               NUMBER(11) DEFAULT 0,
         description           CLOB,
         project_code          NUMBER(20) NOT NULL,
         release_state         NUMBER(4),
         user_id               NUMBER(11),
         global_params         CLOB,
         flag                  NUMBER(4),
         locations             CLOB,
         warning_group_id      NUMBER(11),
         timeout               NUMBER(11) DEFAULT 0,
         execution_type        NUMBER(4) DEFAULT 0,
         operator              NUMBER(11),
         operate_time          DATE,
         create_time           DATE NOT NULL,
         update_time           DATE NOT NULL,
         CONSTRAINT pk_t_ds_process_definition_log PRIMARY KEY (id),
         CONSTRAINT uk_t_ds_process_def_log_code_version UNIQUE (code, version)
);

-- ----------------------------
-- Table: t_ds_task_definition
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_task_definition';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_task_definition (
      id   NUMBER(11) generated by default as IDENTITY NOT NULL,
      code NUMBER(20) NOT NULL,
      name VARCHAR2(255),
      version                   NUMBER(11) DEFAULT 0,
      description               CLOB,
      project_code              NUMBER(20) NOT NULL,
      user_id                   NUMBER(11),
      task_type                 VARCHAR2(50) NOT NULL,
      task_execute_type         NUMBER(11) DEFAULT 0,
      task_params               CLOB,
      flag NUMBER(2),
      is_cache                  NUMBER(2) DEFAULT 0,
      task_priority             NUMBER(4) DEFAULT 2,
      worker_group              VARCHAR2(255),
      environment_code          NUMBER(20) DEFAULT -1,
      fail_retry_times          NUMBER(11),
      fail_retry_interval       NUMBER(11),
      timeout_flag              NUMBER(2) DEFAULT 0,
      timeout_notify_strategy   NUMBER(4),
      timeout                   NUMBER(11) DEFAULT 0,
      delay_time                NUMBER(11) DEFAULT 0,
      resource_ids              CLOB,
      task_group_id             NUMBER(11),
      task_group_priority       NUMBER(4) DEFAULT 0,
      cpu_quota                 NUMBER(11) DEFAULT -1 NOT NULL,
      memory_max                NUMBER(11) DEFAULT -1 NOT NULL,
      create_time               DATE NOT NULL,
      update_time               DATE NOT NULL,
      CONSTRAINT pk_t_ds_task_definition PRIMARY KEY (id, code)
);

-- ----------------------------
-- Table: t_ds_task_definition_log
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_task_definition_log';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_task_definition_log (
      id   NUMBER(11) generated by default as IDENTITY NOT NULL,
      code NUMBER(20) NOT NULL,
      name VARCHAR2(255),
      version                   NUMBER(11) DEFAULT 0,
      description               CLOB,
      project_code              NUMBER(20) NOT NULL,
      user_id                   NUMBER(11),
      task_type                 VARCHAR2(50) NOT NULL,
      task_execute_type         NUMBER(11) DEFAULT 0,
      task_params               CLOB,
      flag NUMBER(2),
      is_cache                  NUMBER(2) DEFAULT 0,
      task_priority             NUMBER(4) DEFAULT 2,
      worker_group              VARCHAR2(255),
      environment_code          NUMBER(20) DEFAULT -1,
      fail_retry_times          NUMBER(11),
      fail_retry_interval       NUMBER(11),
      timeout_flag              NUMBER(2) DEFAULT 0,
      timeout_notify_strategy   NUMBER(4),
      timeout                   NUMBER(11) DEFAULT 0,
      delay_time                NUMBER(11) DEFAULT 0,
      resource_ids              CLOB,
      operator                  NUMBER(11),
      task_group_id             NUMBER(11),
      task_group_priority       NUMBER(4) DEFAULT 0,
      operate_time              DATE,
      cpu_quota                 NUMBER(11) DEFAULT -1 NOT NULL,
      memory_max                NUMBER(11) DEFAULT -1 NOT NULL,
      create_time               DATE NOT NULL,
      update_time               DATE NOT NULL,
      CONSTRAINT pk_t_ds_task_def_log PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_t_ds_task_def_log_code_ver ON t_ds_task_definition_log (code, version); -- 缩短索引名
CREATE INDEX idx_t_ds_task_def_log_proj_code ON t_ds_task_definition_log (project_code);

-- ----------------------------
-- Table: t_ds_process_task_relation
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_process_task_relation';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_process_task_relation (
        id         NUMBER(11) generated by default as IDENTITY NOT NULL,
        name       VARCHAR2(255),
        project_code                    NUMBER(20) NOT NULL,
        process_definition_code         NUMBER(20) NOT NULL,
        process_definition_version      NUMBER(11) NOT NULL,
        pre_task_code                   NUMBER(20) NOT NULL,
        pre_task_version                NUMBER(11) NOT NULL,
        post_task_code                  NUMBER(20) NOT NULL,
        post_task_version               NUMBER(11) NOT NULL,
        condition_type                  NUMBER(2),
        condition_params                CLOB,
        create_time DATE NOT NULL,
        update_time DATE NOT NULL,
        CONSTRAINT pk_t_ds_process_task_rel PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_t_ds_proj_code_proc_code ON t_ds_process_task_relation (project_code, process_definition_code);
CREATE INDEX idx_pre_task_code_ver ON t_ds_process_task_relation (pre_task_code, pre_task_version);
CREATE INDEX idx_post_task_code_ver ON t_ds_process_task_relation (post_task_code, post_task_version);

-- ----------------------------
-- Table: t_ds_process_task_relation_log
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_process_task_relation_log';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_process_task_relation_log (
        id         NUMBER(11) generated by default as IDENTITY NOT NULL,
        name       VARCHAR2(255),
        project_code                    NUMBER(20) NOT NULL,
        process_definition_code         NUMBER(20) NOT NULL,
        process_definition_version      NUMBER(11) NOT NULL,
        pr
在 macOS 系统上部署 Apache DolphinScheduler 可以按照以下步骤进行: ### 环境准备 - **Java**:确保系统已安装 Java 8 及以上版本。可以使用以下命令检查 Java 版本: ```bash java -version ``` 如果未安装,可从 Oracle 官网或 OpenJDK 下载并安装。 - **Maven**:用于编译 DolphinScheduler 源码。可以使用 Homebrew 进行安装: ```bash brew install maven ``` - **MySQL**:作为 DolphinScheduler 的元数据库。同样可以使用 Homebrew 安装: ```bash brew install mysql ``` 安装完成后,启动 MySQL 服务并设置 root 用户密码。 ```bash brew services start mysql mysql_secure_installation ``` ### 下载并编译源码 - 从 Apache DolphinScheduler 官方 GitHub 仓库下载源码: ```bash git clone https://github.com/apache/dolphinscheduler.git cd dolphinscheduler ``` - 使用 Maven 进行编译: ```bash mvn -B -DskipTests clean install assembly:assembly ``` ### 配置元数据库 - 登录 MySQL,创建 DolphinScheduler 所需的数据库: ```bash mysql -u root -p CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` - 执行 SQL 脚本初始化数据库: ```bash mysql -u root -p dolphinscheduler < ./dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_schema.sql ``` ### 配置 DolphinScheduler - 进入编译后的目录: ```bash cd ./dolphinscheduler-dist/target/apache-dolphinscheduler-${version}-bin ``` - 修改配置文件 `conf/common.properties`,配置数据库连接信息: ```properties spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false spring.datasource.username=root spring.datasource.password=your_password ``` ### 启动服务 - 启动 DolphinScheduler 各个服务: ```bash ./bin/start-all.sh ``` ### 验证部署 - 打开浏览器,访问 `http://localhost:12345/dolphinscheduler`,使用默认账号 `admin/dolphinscheduler123` 登录系统。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值