1.概述

在ORACLE环境下执行,这个和mysql有些许不同,我们 实在ORACLE下创建不同的用户,不同的数据库,在不同的用户下执行。

2.切换步骤

2.1 执行数据库脚本

这个按照我们的脚本进行执行即可。

2.2. 导入 nacos配置

我们会将 oracle 的配置导出成一个nacos配置文件,在执行时,进行导入。

这个配置是我们整理好的配置,当然 我们需要对这个配置需要做如下的修改。

  1. nacos-config-dev.properties 配置修改

这里主要是修改数据库的连接和用户名。

数据库连接
jdbc:oracle:thin:@192.168.1.200:1521:ORCL

bpm.datasource.username=jpaas_bpm
bpm.datasource.password=jpaas_bpm
bpm.datasource.driver=oracle.jdbc.driver.OracleDriver
bpm.datasource.connection=
bpm.datasource.vaildQuery=select 1 from dual
  1. 修改 seata tc 的配置
参数名 说明
store.db.dbType 数据类型 oracle
store.db.driverClassName 驱动名称 oracle.jdbc.OracleDriver
store.db.url 数据库连接 jdbc:oracle:thin:@192.168.1.200:1521:ORCL ,按照实际来
store.db.user 连接用户名 按照实际来
store.db.password 连接密码 按照实际来

3 .注意事项

3.1 脚本版本

seata server 增加 oracle 的驱动。

另外我们使用 nacos server 的数据脚本,需要和nacos 提供的脚本保持一致,否则可能会导致一些错误。

下图是SEATA官方提供的一些脚本,比如1.3 和 1.4 的脚本会有些许不同,那么我们需要做下调整。

3.2 代码开发

我们 oracle 使用的数据序列化方式 用的 是 kryo

client.undo.logSerialization=kryo

因此在做代码开发时我们需要在 pom.xml 中引入

<dependency>
            <groupId>com.esotericsoftware</groupId>
            <artifactId>kryo</artifactId>
            <version>5.0.3</version>
        </dependency>

        <dependency>
            <groupId>de.javakaffee</groupId>
            <artifactId>kryo-serializers</artifactId>
            <version>0.45</version>
        </dependency>

如果在新的数据开发的话,需要在数据中 执行如下脚本。

CREATE TABLE undo_log
(
    id            NUMBER(19)    NOT NULL,
    branch_id     NUMBER(19)    NOT NULL,
    xid           VARCHAR2(100) NOT NULL,
    context_       VARCHAR2(128) NOT NULL,
    rollback_info BLOB          NOT NULL,
    log_status    NUMBER(10)    NOT NULL,
    log_created   TIMESTAMP(0)  NOT NULL,
    log_modified  TIMESTAMP(0)  NOT NULL,
    PRIMARY KEY (id),
    CONSTRAINT ux_undo_log UNIQUE (xid, branch_id)
);

COMMENT ON TABLE undo_log IS 'AT transaction mode undo table';

-- Generate ID using sequence and trigger
CREATE SEQUENCE UNDO_LOG_SEQ START WITH 1 INCREMENT BY 1;

3.3 配置数据源

需要注意的连接验证,我们需要调整一下。

select 1 from dual

文档更新时间: 2021-06-16 14:38   作者:zyg