GVKun编程网logo

OceanBase 2.1 的 ORACLE 兼容性能力探秘(兼容oracle的数据库)

4

在这里,我们将给大家分享关于OceanBase2.1的ORACLE兼容性能力探秘的知识,让您更了解兼容oracle的数据库的本质,同时也会涉及到如何更有效地ApacheDolphinScheduler

在这里,我们将给大家分享关于OceanBase 2.1 的 ORACLE 兼容性能力探秘的知识,让您更了解兼容oracle的数据库的本质,同时也会涉及到如何更有效地Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!、Apache Linkis 与 OceanBase 集成:实现数据分析速度提升、Bytebase 2.11.0 - 支持 OceanBase Oracle 模式、Druid 1.2.3 发布,增强对 Oceanbase Oracle 兼容模式的支持的内容。

本文目录一览:

OceanBase 2.1 的 ORACLE 兼容性能力探秘(兼容oracle的数据库)

OceanBase 2.1 的 ORACLE 兼容性能力探秘(兼容oracle的数据库)

概述

 

OceanBase 是一款通用的分布式关系型数据库,目前内部业务使用比较多有两个版本:1.4 和 2.1。OceanBase 每个版本变化总能带给人很多惊喜,其中 2.1 版本实现了 ORACLE 很多特性的兼容。本文主要简单浏览一下这些新功能。

运维

 

账户管理

在 ORACLE Mode 的租户里,创建用户依然是 create user 命令,密码不用单引号。授权方式还是还是 ORACLE 和 MySQL 的结合。查看权限方式是 MySQL 的语法 (这点还是 MySQL 语法很方便)。

在 ORACLE Mode 的租户里,不同用户就是不同 SCHEMA, 默认彼此数据访问权限隔离,除非明确授权访问。

$obclient -h11.***.84.84 -usys@tnt_oracle#obdemo -P2883 SYS -A -pobDBA2019

create user ora_user identified by 123456;
grant all privileges on ora_user.* to ora_user;
grant select on sys.* to ora_user;
show grants for ora_user;
select username, account_status, lock_date, expiry_date, created from dba_users;

实例变量查看

OceanBase 集群级别的参数是通过查看和修改 parameters,但是在 Oracle 租户里,租户级别的设置修改依然是通过类似修改 MySQL 的变量 (variables) 来的。这点跟 Oracle 原生实例不一样。

show global variables where variable_name in (''autocommit'',''ob_compatibility_mode'',''ob_enable_sql_audit'',''ob_query_timeout'',''ob_read_consistency'',''ob_tcp_invited_nodes'',''ob_trx_timeout'',''sql_mode'',''tx_isolation'',''system_time_zone'',''time_zone'');

 


修改方法举例

set global autocommit=on;

性能分析

OceanBase 实现了很多类似 Oracle 的 AWR 相关的 GV$ 视图。不过大部分在业务租户下是没有权限查看的。业务租户下只提供了一个 SQL 全量日志视图。这个也够用了。详细用法参见《阿里数据库性能诊断的利器 ——SQL 全量日志》

select /*+ read_consistency(weak) query_timeout(1000000000) */ request_time, svr_Ip, trace_id, sid, client_ip, tenant_id,tenant_name,user_name,db_name, query_sql, affected_rows,ret_code, event, state, elapsed_time, execute_time, queue_time, decode_time, get_plan_time, block_cache_hit, bloom_filter_cache_Hit, block_index_cache_hit, disk_reads,retry_cnt,table_scan, memstore_read_row_count, ssstore_read_row_count, round(request_memory_used/1024/1024) req_mem_mbfrom gv$sql_audit where user_name in (''ora_user'') and rownum<100order by request_time desc ;

开发

 

面向开发的功能主要就是 DDLDML 了。

DDL

建表

OceanBase 的表是索引组织表 (IOT),强烈建议设置主键,并且主键就是数据。

建表时支持的数据类型如下:

  • CHAR/VARCHAR2

  • DATE/TIMESTAMP/TIMESTAMP WITH TIME ZONE/TIMESTAMP WITH LOCAL TIME ZONE

  • INTERVAL(部分运算)

  • NUMBER(包括其子类型 int 等)

  • CLOB/BLOB(不超过 48M)

 

建表示例:

$obclient -h11.***.84.84 -uora_user@tnt_oracle#obdemo -P2883 -A -p123456 ORA_USER
create table t01(
id number not null,
c1 char(10),
c2 varchar2(10),
c3 DATE default sysdate,
c4 timestamp default systimestamp,
c5 timestamp with time zone default localtimestamp,
c6 timestamp with local time zone default localtimestamp,
c7 int,
c8 clob,
c9 blob
);

create sequence seq_t01 start with 1000000000 increment by 2 cache 100 ;
insert into t01(id, c1, c2, c7, c8)
values(seq_t01.nextval, ''test'', ''test'',99999999999,''clobtextclobtextclobtextclobtextclobtextclobtextclobtextclobtextclobtext'');
select * from t01\G

 

 

支持通过 CTAS 方法从老表创建新表。

修改表结构

目前对修改表结构类型还有很多限制,如只能在同类类型中改大值域。如 varchar 扩大长度。

函数

目前支持 ORACLE 常用的函数。如时间函数、数值函数、字符串函数、类型转换函数、条件函数、系统函数、统计分析函数等等。

时间函数

目前支持:

  • interval

  • localtimestamp

  • current_timestamp

  • sysdate/systimestamp

select sysdate, sysdate + interval''1'' minute next_min, sysdate + interval''1'' hour next_hour, sysdate + interval''1'' day next_day from dual;

数值函数

目前支持:

  • abs/sign

  • floor/''ceil`

  • trunc/mod

  • bitand

示例如下:

select abs(-3.1415926), ceil(3.1415926), floor(3.1415926), sign(-3.1415926),round(314 70), mod(314,7), trunc(3.1415926f
rom
 dual;

 

 

比较函数

目前支持:

  • least/greatest

字符串函数

目前支持:

  • pad/lpad/rpad

  • instr/substr

  • concat/||

  • length/lengthb

  • lower/upper

select lpad(3.14159, 10, ''*'') c1, rpad(''Apple'', 10, ''<'') c2, ltrim('' Hello'') c3, rtrim(''World! '') c4, ''Hello '' || '' World'' c5, concat(''Hello '','' World!'') c6, lower(''Hello World!'') c7, upper(''Hello World!'') c8, instr(''Hello World'',''o'',6) c9, substr(''Hello World'',5,3) c10, length(''Hello 中国!'') c11, lengthb(''Hello 中国!'') c12 from dual; 

 

 

类型转换函数

主要是数值、字符串、日期之间的互相转换
目前支持:

  • to_date/to_timestamp

  • to_char

  • to_number

 

示例如下:

select cast(''3.1415926'' as number), to_date(''2019-05-23 14:00:00'',''yyyy-mm-dd hh24:mi:ss''), to_number(''3.1415926''), to_char(3.1415926), to_timestamp(sysdate), to_timestamp_tz(sysdate) from dual;

 

条件函数

目前支持:

  • case...when...end

  • nvl

  • decode

drop table t02;
create table t02(id number not null , type varchar2(2), gmt_create date not null default sysdate);
insert into t02(id,type) values(1,''R''),(2,''B''),(3,NULL);commit;
select id, NVL(type,''NULL!'') type, case type when ''R'' then ''Good guy!'' when ''B'' then ''Bad guy!'' else ''Unknown!'' end type_desc,
decode(type,''R'',''Good guy!'',''B'',''Bad guy!'',''Unknown!'') type_desc2, gmt_create
from t02;

 

系统函数

目前支持:

  • uid/user

select uid, user, userenv(''schemaid''),SYS_CONTEXT(''userenv'',''current_user'') from dual;

 

 

select rownum rn,object_name, object_type from user_objects order by object_name;

 

分析函数

目前支持的聚合函数包括:

  • COUNT

  • APPROX_COUNT_DISTINCT

  • SUM, MAX, MIN, AVG

  • LISTAGG, RANK, DENSE_RANK, PERCENT_RANK +ROW_NUMBER

  • NTILE, CUME_DIST, FIRST_VALUE, LAST_VALUE

  • LEAD, LAG, NTH_VALUE

 

示例如下:

统计组内排名

select customernumber, checknumber, paymentdate, amount, dense_rank() over (partition by customernumber order by amount) dense_rank , 
round(PERCENT_RANK() over (partition by customernumber order by amount),2) perentage
from payments where customernumber=141 order by dense_rank, customernumber;

 

 

统计数量近似值

select count(distinct customernumber), APPROX_COUNT_DISTINCT(customernumber) from payments;

 

 

统计分组汇总 

select * from (
select OFFICECODE, listagg(LASTNAME,'','') within GROUP (ORDER BY EMPLOYEENUMBER) OVER (partition by OFFICECODE) EMP_LIST,
row_number() over (partition by OFFICECODE order by EMPLOYEENUMBER) as rn
FROM employees)
where rn = 1;

 

 

统计分组内第一和最后一个值

select OFFICECODE, listagg(LASTNAME,'','') within GROUP (ORDER BY EMPLOYEENUMBER) OVER (partition by OFFICECODE) EMP_LIST,
first_value(LASTNAME) over (partition by OFFICECODE order by EMPLOYEENUMBER ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) first_emp_all,
last_value(LASTNAME) over (partition by OFFICECODE order by EMPLOYEENUMBER ) last_emp,
last_value(LASTNAME) over (partition by OFFICECODE order by EMPLOYEENUMBER ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) last_emp_all
FROM employees
order by OFFICECODE;

 

 

同行显示分组统计的上一个和下一个值

select customernumber, checknumber, paymentdate,amount, round(cume_dist() over (partition by customernumber order by amount) ,2) as cume_dist ,lag(amount) over (partition by customernumber order by amount) last_ck,lead(amount) over (partition by customernumber order by amount) next_ckfrom payments where customernumber in (412,447,452,458) order by customernumber;

 

 

后记

 

更多 Oracle 的兼容性还在陆续开发或内部试用中。尤其是存储过程、PLSQL 以及 Package。请保持关注。

OceanBase 对 Oracle 的兼容只是用户功能接口上的兼容,其底层原理依然是 OceanBase 特有的原理。

 

推荐阅读

  

  • OceanBase 数据库实践入门 —— 了解总控服务

  • OceanBase 数据库实践入门 —— 常用操作 SQL

  • OceanBase 分区表有什么不同?

 

 

更多后续分享敬请关注公众号:obpilot

 

 

原文出处:https://www.cnblogs.com/mq44944/p/oracle2ob.html

Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!

Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!

file

DolphinScheduler 是一个开源的分布式任务调度系统,拥有分布式架构、多任务类型、可视化操作、分布式调度和高可用等特性,适用于大规模分布式任务调度的场景。目前 DolphinScheduler 支持的元数据库有 Mysql、PostgreSQL、H2,如果在业务中需要更好的性能和扩展性,可以在 DolphinScheduler 中使用 OceanBase 数据库作为元数据库进行替换。节点数量和规模可以自由调整,实现无缝扩展和缩减。

一. OceanBase 数据库

OceanBase 数据库是阿里巴巴自主研发的分布式关系型数据库,具有以下特点:

  1. 分布式架构:OceanBase 采用分布式架构,可水平扩展,支持 PB 级别的数据存储和处理。

  2. 高可用性:OceanBase 采用分布式副本机制,实现数据的冗余备份,保证在节点故障时仍能提供可用的服务。

  3. 高性能:OceanBase 采用多维度优化技术,包括数据存储、查询优化、分布式事务等方面,可大幅提升数据库的性能。

  4. 强一致性:OceanBase 采用基于 Paxos 协议的多副本一致性算法,实现强一致性的分布式事务处理。

  5. 兼容 SQL:OceanBase 支持标准的 SQL 语言,包括 DDL、DML 和 DQL 等命令。

  6. 可扩展性:OceanBase 支持在线扩容和缩容,可根据业务需求自由调整节点数量和规模。

  7. 安全性:OceanBase 采用多层安全策略,包括密码加密、数据加密、访问控制等,保障数据库的安全性。

总之,OceanBase 数据库具有高可用、高性能、强一致性等特性,适用于大规模、高并发的业务场景。

二. DolphinScheduler 支持 OceanBase 数据源

在 DolphinScheduler 中使用 OceanBase 做数据源在调度业务上的优势:

  1. 高性能:OceanBase 可以处理大规模数据,而且在数据存储和处理方面都采用了多维度优化技术,所以相对于其他数据库,其有更高的性能表现,可以快速地处理数据。

  2. 高可靠性:OceanBase 是一个分布式数据库,通过多节点的数据冗余备份,当某个节点发生故障时能够自动切换,保证服务的高可靠性。

  3. 事务处理:如果业务需要原子性的操作,OceanBase 可以提供强一致性的分布式事务处理,从而保证数据不会出现不一致的情况。

  4. 分布式调度:DolphinScheduler 自身是分布式任务调度系统,和 OceanBase 分布式架构相互匹配,可以充分利用 Oceanbase 的分布式特性,提供更高效率的调度服务。

  5. 可扩展性:DolphinScheduler 和 OceanBase 都支持在线扩容和缩容,可以根据业务需求自由调整节点数量和规模,实现无缝扩展和缩减。

使用 OceanBase 作为数据源可以带来高性能、高可靠性、高安全性和强大的扩展性,和 DolphinScheduler 结合使用,将会为调度业务的稳定性、可靠性、可扩展性带来更优秀的表现。

三. OceanBase 具体兼容 Mysql 的哪些特性

  1. 数据类型:OceanBase 支持 MySQL 的常见数据类型,如整数、浮点数、日期和时间、字符串等。

  2. SQL 语法:OceanBase 支持 MySQL 的常见 SQL 语句,如 SELECT、INSERT、UPDATE、DELETE 等命令。

  3. 存储引擎:OceanBase 支持 InnoDB 存储引擎,从而可以兼容 MySQL 的事务和锁定特性。

  4. 存储过程:OceanBase 支持 MySQL 的存储过程特性,包括存储过程、存储函数和存储触发器等。

  5. 工具和驱动:OceanBase 支持 MySQL 的常见工具和驱动,如 MySQL Workbench、Navicat 和 JDBC 等。

四. DolphinScheduler 更换为 OceanBase 元数据库的步骤

  1. 创建 OceanBase 数据源,包括主机地址、端口号、用户名、密码等信息;

阿里公有云:在阿里云官网申请公有云的 OceanBase 实例,申请成功后可在控制台 - 云数据库 OceanBase 版 - 实例列表页面看到状态为运行中的实例:

file

进入实例可以看到数据库实例和下方的代理私网、公网地址;右上角可以新建数据库和新建账号,非超级账号需要在账号管理页面修改权限才可访问数据库,此账号和密码会作为服务内连接 OceanBase 数据库的数据库账号密码: file

创建成功后在面板登陆数据库或使用其他数据源连接工具或使用命令行登陆数据库并执行 SQL 验证是否可用: file

  1. 进入 OceanBase 后创建 DolphinScheduler 数据库,执行表初始化 SQL 文件: dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_mysql.sql;

file

file

  1. 修改 DolphinScheduler 的配置文件,将原有的 MySQL 数据源替换成新的 OceanBase 数据源;

本地启动 Api 服务:修改 dolphinscheduler-api 模块配置文件中的数据库地址

file

本地启动 Standalone 服务:修改 dolphinscheduler-standalone-server 模块配置文件中的数据库地址

同上

服务器部署:修改 /apache-dolphinscheduler-3.1.2-bin/bin/env/dolphinscheduler_env.sh 中的数据库地址

file

  1. 启动 DolphinScheduler,正常访问登陆并其他模块都可正常操作即可验证 OceanBase 元数据库连接成功且正常使用:

file

五。切换过程中需要注意哪些事项

1. 外键约束

在使用 DolphinSchedulerSQL 文件 dolphinscheduler_mysql.sql 初始化数据库时,SQL 的开始会设置 SET FOREIGN_KEY_CHECKS=0 不检查外键约束,需要注意的是 OceanBase 社区版 4.0 之前是不支持 DDL 语句的外键约束的。例官方版本 V3.1.1,

所以在这里我们要注意下 OceanBase 的版本兼容性。

file

2. 数据迁移后插入报错

报错信息如下:

报错信息

Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
    at com.mysql.cj.protocol.a.NativePacketPayload.readInteger(NativePacketPayload.java:398)
    at com.mysql.cj.protocol.a.NativePacketPayload.readString(NativePacketPayload.java:605)
    at com.mysql.cj.protocol.a.NativeServerSessionStateController$NativeServerSessionStateChanges.init(NativeServerSessionStateController.java:112)
    at com.mysql.cj.protocol.a.result.OkPacket.parse(OkPacket.java:66)
    at com.mysql.cj.protocol.a.NativeProtocol.readServerStatusForResultSets(NativeProtocol.java:1691)
    at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:116)
    at com.mysql.cj.protocol.a.TextResultsetReader.read(TextResultsetReader.java:48)
    at com.mysql.cj.protocol.a.NativeProtocol.read(NativeProtocol.java:1600)
    at com.mysql.cj.protocol.a.NativeProtocol.readAllResults(NativeProtocol.java:1654)
    at com.mysql.cj.protocol.a.NativeProtocol.sendQueryPacket(NativeProtocol.java:1000)
    at com.mysql.cj.NativeSession.execSQL(NativeSession.java:666)
    at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:930)
    ... 157 common frames omitted

这种情况在切换为 OceanBase 数据库之后在数据插入时可能会发生。初始化数据时部分数据会带着 ID 将数据插入表中,之后再次插入数据此时默认主键自增从 0 开始,这时会出现默认自增步长从 10001 开始的情况如下:

file

六。总结

DolphinScheduler 本身是一个非常强大的分布式调度系统,它可以帮助您轻松管理和调度大规模的数据任务。而当它与 OceanBase 结合使用时,它可以为您提供更具弹性、更安全、更可靠的数据存储方式。这种组合可以帮助您更好地解决大规模数据任务管理和调度的问题,同时提高您的工作效率和任务应用的可靠性。因此,如果您正在使用 DolphinScheduler 来管理和调度数据任务,强烈建议您尝试使用 OceanBase 作为其元数据库,让您的任务应用变得更加高效和可靠。

本文由 白鲸开源科技 提供发布支持!

Apache Linkis 与 OceanBase 集成:实现数据分析速度提升

Apache Linkis 与 OceanBase 集成:实现数据分析速度提升

导语:Apache Linkis 生态全景图中集成了 OceanBase,这个集成为 Linkis 生态带来了更强大的数据存储和管理能力,进一步提升了平台的功能和性能。通过集成 OceanBase,Linkis 生态不仅可以提供高度可靠和高性能的数据存储,还能够更好地支持海量数据处理和分析。用户可以在 Linkis 平台上轻松地访问和管理 OceanBase 中的数据,实现数据的实时查询、分析和挖掘。



近日,计算中间件 Apache Linkis 在其新版本中通过数据源功能,支持用户通过 Linkis 去对接使用 OceanBase 数据库。OceanBase 是由蚂蚁集团完全自主研发的国产分布式数据库,用一套引擎同时支持 TP 和 AP 的混合负载, 具有数据强一致、高可用、高性能、在线扩展、高度兼容 SQL 标准和主流关系数据库、低成本等特点。


本文主要介绍 Linkis v1.3.2 中 OceanBase 数据库的集成。由于 OceanBase 数据库兼容 MySQL 5.7/8.0 的大部分功能和语法。因此,OceanBase 数据库可以当作 MySQL 使用。


想了解更多的功能特点和应用实践,请参与 6 月 13 日 Linkis 与 OceanBase 的联合 Meetup,详情点击文章:《活动直播 | Apache Linkis 集成 OceanBase 的探索与实践


准备工作

1. 环境安装


安装和部署 OceanBase 数据库,请参阅

  • 部署文档

https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001687861

  • 一文讲透|如何部署 OceanBase 社区版

https://open.oceanbase.com/blog/2235967744


2. 环境验证


你可以使用 MySQL 命令来验证 OceanBase 数据库的安装情况。

mysql -h${ip} -P${port} -u${username} -p${password} -D${db_name}

连接成功,如下图所示:



Linkis 提交执行 OceanBase 数据库任务


1. 通过 linkis-cli 提交


sh ./bin/linkis-cli -engineType jdbc-4 -codeType jdbc -code "show tables" -submitUser hadoop -proxyUser hadoop -runtimeMap wds.linkis.jdbc.connect.url=jdbc:mysql://${ip} :${port}/${db_name} -runtimeMap wds.linkis.jdbc.driver=com.mysql.jdbc.Driver -runtimeMap wds.linkis.jdbc.username=${username} -runtimeMap wds.linkis.jdbc.password =${password}


2. 通过 Linkis Java SDK 提交任务


Linkis 提供 Java 和 Scala 的 SDK,用于向 Linkis 服务器提交任务。有关详细信息,请参阅 JAVA SDK Manual 

https://linkis.apache.org/docs/latest/user-guide/sdk-manual


对于 OceanBase 任务,用户只需要在 Demo 中修改 EngineConnType 和 CodeType 参数:

Map<StringObject> labels = new HashMap<StringObject>(); labels.put (LabelKeyConstant.ENGINE_TYPE_KEY, "jdbc-4"); // required engineType Labellabels.put(LabelKeyConstant.USER_CREATOR_TYPE_KEY, "hadoop-IDE");// required execute user and creator labels.put(LabelKeyConstant.CODE_TYPE_KEY, "jdbc"); // required codeType


3. 多数据源支持


路径:登录管理平台 --> 数据源管理


第一步:创建新的数据源


第二步:连接测试

单击测试连接按钮进行测试

第三步发布数据源


第四步:通过指定数据源名称提交 OceanBase 任务

请求 URL:

http://${gateway_url}:${port}/api/rest_j/v1/entrance/submit

方法:POST

请求参数:

{    "executionContent": {        "code""show databases",        "runType""jdbc"    },    "params": {        "variable": {},        "configuration": {            "startup": {},            "runtime": {                "wds.linkis.engine.runtime.datasource""ob-test"            }        }    },    "labels": {        "engineType""jdbc-4"    }}回应:{  "method""/api/entrance/submit",  "status"0,  "message""OK",  "data": {    "taskID"93,    "execID""exec_id018017linkis-cg-entrance000830fb1364:9104IDE_hadoop_jdbc_0"  }}


Linkis 作为中间计算层,使各个上层应用以紧耦合的方式直接连接和访问各种底层引擎如 OceanBase、MySQL 等。实现了统一变量等用户资源的互通,脚本、UDF、函数和资源文件,并通过 REST 标准接口提供数据源和元数据管理服务。



Linkis 强大的连接、重用、编排、扩展和治理能力,通过应用层和引擎层的解耦,以标准化可重用的方式解决了扩展难、应用孤岛、重复造轮子等复杂的连接问题。简化了复杂的网络调用关系,从而降低了整体的复杂度,也节省了开发和维护成本。


未来, Linkis 计划进一步和 OceanBase 进行集成,包括 Linkis ETL 功能支持 OceanBase,完成 OceanBase 和其他数据源的导入导出等,并支持将 Linkis 的元数据存储到 OceanBase。


本文分享自微信公众号 - WeDataSphere(gh_273e85fce73b)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与 “OSC 源创计划”,欢迎正在阅读的你也加入,一起分享。

Bytebase 2.11.0 - 支持 OceanBase Oracle 模式

Bytebase 2.11.0 - 支持 OceanBase Oracle 模式

从数据到大模型应用,11 月 25 日,杭州源创会,共享开发小技巧

新功能

  • 支持 OceanBase Oracle 模式。
  • 支持设置 MySQL 在线变更参数。
  • 新增项目数据库查看者的角色。

改进

  • 支持在项目中直接选择所有用户并为之添加角色。

file

  • 调整了项目页面的布局。
  • 在 SQL 编辑器中通过悬浮面板展示表和列的详情。

file

不再支持

  • Bytebase 新版本中将不再提供书签功能。我们建议您使用浏览器的书签功能作为替代方案。

Bug 修复

修复在 Azure DevOps 或 Bitbucket 中重命名文件无法触发在 Bytebase 中工单创建的问题。

社区

感谢 @bds-congnguyen 提交 fix: update bytebase-sql-review.yml for CICD #8984

安装及升级

参考升级指南。如果从之前版本升级,获取新版本后,重新启动升级即可。

Druid 1.2.3 发布,增强对 Oceanbase Oracle 兼容模式的支持

Druid 1.2.3 发布,增强对 Oceanbase Oracle 兼容模式的支持

没投过票?千万别说你来过 OSC

https://www.oschina.net/project/top_cn_2020

Druid 1.2.3 发布,Druid 是一个数据库连接池,能够提供强大的监控和扩展功能。

1.2.3 在 1.2.2 版本上做了一些微小改进,主要是连接池增强对 oceanbase oracle 兼容模式的支持。

Issues:

  • 连接池增强对 oceanbase oracle 兼容模式的支持
  • SQL Parser 增强对 MySQL 语法支持 #4024

更新说明: https://github.com/alibaba/druid/releases/tag/1.2.3

今天关于OceanBase 2.1 的 ORACLE 兼容性能力探秘兼容oracle的数据库的分享就到这里,希望大家有所收获,若想了解更多关于Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!、Apache Linkis 与 OceanBase 集成:实现数据分析速度提升、Bytebase 2.11.0 - 支持 OceanBase Oracle 模式、Druid 1.2.3 发布,增强对 Oceanbase Oracle 兼容模式的支持等相关知识,可以在本站进行查询。

本文标签:

上一篇ORACLE(系统表emp) 基本与深入学习(oracle数据库emp表)

下一篇Centos 下Mysql 解决中文乱码问题