一文详解优炫数据库对Oracle兼容性实践

本文详细介绍了优炫数据库UXDB如何实现对Oracle的兼容性,涵盖数据类型、语法、函数、功能、接口和视图的兼容,旨在助力国产数据库在企业信息化建设中的应用,提供Oracle到UXDB的平滑迁移方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

信创产业迎来了大踏步发展的机遇期,数据库国产化成为企业信息化、数字化建设的一项重点工作,国产数据库时代已经到来。然而,由于需要替代的系统涉及到 IT底层架构、业务应用等各个方面,其过程比较复杂,风险也非常大,很多企业对此没有系统性的认知,对替代工作存在一定的“畏惧”心理。

为帮助开发者、DBA们更好地了解国产数据库技术创新,优炫软件推出“走进国产化”系列技术分享,希望有更多人与优炫软件一起投身国产数据库发展建设中来,打造共赢的国产数据库生态圈。

首期我们已分享了“优炫数据库对Oracle兼容特性及用法”,没有观看直播的小伙伴,可不要错过本次分享内容的文字实录。

优炫数据库介绍

优炫数据库管理系统UXDB是优炫软件研发的企业级安全可信数据库,拥有自主知识产权,是自主可控的数据库软件,具备替代国外数据库的能力,目前优炫数据库已经在政务、军工、电信、金融、医疗等多个行业的系统上线运行。

上图为优炫数据库产品体系架构图,采用数据处理与存储分离设计的架构,处理端专注数据处理。存储端专注存储处理。

编程接口:提供外部程序访问能力。

典型的工具有:UXSQL是内置的客户端连接工具,用于数据库连接、创建、管理等;UXDBAdmin是图形化客户端管理工具;UXDBWeb是服务端数据库监控与管理工具;UXMigrator是数据迁移工具,支持国内外主流数据库、国产数据库等一键迁移工作。

应用插件:UXDB是基于插件扩展设计的,通过插件对功能进行扩展。

为什么要做国产数据库兼容性?

兼容性包括很多方面,有硬件、操作系统、网络兼容,数据库兼容,以及数据格式的兼容。从数据库产品选型角度来说,我们曾看到有客户谈及:"功能、性能、高可用、兼容、易维护等是对数据库主要关注内容。”

由此可见,兼容性是不可缺少的一环,也是取得客户信任的重要考量因素之一。

接下来,我们将重点介绍优炫数据库对oracle的兼容性六大方面。

数据类型兼容

优炫数据库拥有完备的数据类型,包括数字类型、字符类型、二进制数据类型、XML 类型等,支持 GB 级别以上大对象数据类型与流式数据访问。因Oracle有特殊用法,数据类型有其专用名词,UXDB为了适应客户需求及生态建设,UXDB中做到对数据类型名称、用法兼容。

数值类型,类型number为任意精度数字,兼容Oracle类型,number相当于numeric类型别名。

需要设置参数:

set ora_grammar=on;

ora_grammar缺省值为“off”,可在配置文件《uxsinodb.conf》中修改缺省值。

字符类型:varchar2不需特别设置,可直接兼容Oracle。

大对象类型:

blob、clob、varbinary、Longvarbinary、二进制类型。

数据库初始化为兼容Oracle模式数据库,初始化加“-r compatible”参数。

语法兼容

UXDB支持oracle子查询无别名语法,子查询语句中没有指定别名时,声明默认别名节点,保证后续语句的正确执行。

Delete后面不需要from关键字,从指定表中删除满足WHERE子句的行。如果WHERE子句没有出现,效果将会是删除表中的所有行。结果是一个合法的空表。

Merge into语法兼容,使用MERGE语句从一个或多个源中选择可以进行更新或插入到表或视图中。可以指定条件以确定是要更新还是插入到目标表或视图中。

函数兼容

应用开发中,函数是必不可少的功能,经常会用到系统自带函数。UXDB根据客户需求做到了兼容Oracle特有函数的兼容。

Isnull函数

Isnull返回参数列表中第一个非空参数的值,支持一个参数或两个参数,两个参数仅当两个参数都为空时才会返回空。它常用于在为显示目的检索数据时用缺省值替换空值。

Instr函数

功能兼容

Rownum兼容

Rownum应该是Oracle的标志性功能之一,UXDB数据库的Rownum是为了兼容Oracle所做语法功能适配。利用uxdb的limit语法进行改造;如:rownum<3等价于limit 2。

Sysdate兼容

Oracle中提供了一系列时间函数,最常用的是Sysdate,UXDB中支持Sysdate。

同义词兼容

同义词(synonym)是表、索引、视图等模式对象的一个别名。通过为模式对象创建同义词,可以隐藏对象的实际名称和所有者信息,由此为对象提供一定的安全性保证。目前实现有创建同义词和删除同义词两个功能,其底层思路是创建一张同义词系统表ux_synonym。UXDB中同义词的用法与Oracle相同。

序列语法兼容

序列对象(也叫序列生成器)就是用CREATE SEQUENCE创建的特殊的单行表。一个序列对象通常用于为行或者表生成唯一的标识符。UXDB中序列语法的用法与Oracle相同。

接口兼容

UXDB兼容接口用法,甚至是接口中某个语句的语法,UXDB都做了相应的兼容,满足客户应用需求,搭建Oracle迁移至UXDB的“无缝”移植。

OCI兼容演示如下

,时长02:40

视图兼容

Oracle为方便管理做了众多视图,UXDB对常用的几种身份做了视图兼容。如:all-视图、dba-视图、user-视图等。

all_视图(13个)

all_all_tables、all_tables、all_cons_columns、all_constraints、all_ind_columns、all_indexes、all_sequences、all_views等

dba_视图(15个)

dba_all_tables、 dba_tables、 dba_tab_columns、 dba_indexes、 dba_views等

user_视图(16个)

user_all_tables、user_tables、user_all_tables 、user_indexes 、user_view_columns等

Oracle到优炫数据库UXDB迁移

针对从某个具体的Oracle数据库迁移至UXDB问题,优炫数据库会为用户提供专业的技术支持,协助用户进行迁移,分四大阶段开展:调研评估、数据库迁移、应用迁移及系统割接测试。其中会用到迁移工具。

优炫数据迁移工具(UXMigrator)支持对国内外主流数据库或标准化数据文件的一键迁移工作;支持命令行及图形化操作;国内外主流数据库包括:Oracle、 MySQL、SQL Server、DB2、Sybase、国产数据库等;数据文件包括:CSV、TXT、XLS 等。

数据库的迁移:支持将其他数据库中的数据对象及数据统一迁移到优炫数据库中。

数据文件导入:支持将标准化数据文件(如:CSV、TXT、Excel等)导入到优炫数据库中。

管理过程规范化:提供科学规范的一站式处理过程,便于用户操作,避免手工失误。

 操作步骤精准化:为了保证迁移过程安全可靠,数据准确无误,各个操作环节均需进行安全检查及信息校验,确保每个操作环节都精准无误。

迁移效率高效化:在迁移过程中,针对海量的迁移工作,可采用多线程并发处理机制,大幅提升数据库迁移效率。

支持多种操作环境:支持Windows系列、Linux系列(包括全部国产操作系统),适应多样性迁移场景。

支持多种数据源:支持国内外主流数据库及标准化的数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值