1.概述
在ORACLE环境下执行,这个和mysql有些许不同,我们 实在ORACLE下创建不同的用户,不同的数据库,在不同的用户下执行。
2.切换步骤
2.1 执行数据库脚本
这个按照我们的脚本进行执行即可。
2.2. 导入 nacos配置
我们会将 oracle 的配置导出成一个nacos配置文件,在执行时,进行导入。
这个配置是我们整理好的配置,当然 我们需要对这个配置需要做如下的修改。
- 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
- 修改 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