服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Oracle - 兼容Oracle数据库,但是要规避知识产权风险

兼容Oracle数据库,但是要规避知识产权风险

2023-07-28 06:00未知服务器之家 Oracle

现在很多用户都在做数据库国产化改造工作,因为有大量的系统要迁移,因此保持国产数据库与Oracle的兼容性就十分重要。前几天有个做国产数据库改造的客户和我讨论应用迁移的问题,他觉得如果原有的Oracle上开发的应用什么都

现在很多用户都在做数据库国产化改造工作,因为有大量的系统要迁移,因此保持国产数据库与Oracle的兼容性就十分重要。前几天有个做国产数据库改造的客户和我讨论应用迁移的问题,他觉得如果原有的Oracle上开发的应用什么都不要变,连SQL*NET都兼容就最好了。他发现现在大多数客户端兼容的数据库都是MySQL和PostgreSQL,很少见到与Oracle客户端兼容的数据库。不过最近他发现了有几款国产数据库是与Oracle客户端完全兼容的,因此他考虑建议领导把这个作为数据库选型的条件,问我是否合适。

我建议他慎重考虑一下,Oracle的SQLNET是一种带知识产权保护的私有化协议,这个数据库厂商如果没有获得Oracle原厂的授权使用,可能存在侵权的嫌疑。如果真有数据库厂商这么干了,那么说明这个厂商的法律意识很淡薄。他们认为自己并没有破解Oracle的代码,只是从网络协议上破解了SQLNET的协议包,一切都是自主的。实际上几年前我和还在经营贫民软件的老楼也探讨过这个问题,当时很多客户需要他们提供基于Oracle数据库的OneProxy,当时我们讨论的结果是,可以基于JDBC/ODBC/OCI来做这个功能,但是不能直接破解SQL*NET来做,否则容易陷入知识产权纠纷。

目前一些国产数据库厂商与MySQL/PostgreSQL等客户端兼容,这一点是没有什么问题的,因为这些数据库都是开源的,网络包协议也是开源的,这就是目前为什么有很多数据库产品可以直接兼容MySQL/PostgreSQL数据库的客户端,但是很少看到开源/商用数据库直接兼容Oracle的客户端的最主要的原因。

基于上述考虑,我个人认为,通过破解SQL*NET达到数据库与Oracle客户端的兼容,是一种十分危险的知识产权侵权行为。如果Oracle的客户端和JDBC驱动能够直接访问果茶数据库,那么就已经说明侵权已经存在了。我们搞国产化数据库,可以学习Oracle的先进经验,可以尽可能在一些语法、用法上和Oracle兼容,但是不能突破知识产权保护的壁垒,不能侵权,这应该是我们的厂家应该秉持的底线。

实际上现在国产数据库都在搞与Oracle的兼容性适配,这里面一定有大量的知识产权方面的陷阱,因此我们的数据库厂商需要多找一些法律方面的专家来协助分析,否则如果做大了,很容易陷入法律风险之中。

前阵子有个数据库厂商和我讨论数据库的内部视图,比如DBA_TABLES等做得和Oracle一模一样,是否存在法律风险的问题。我不是知识产权法律方面的专家,并不清楚这个问题的答案是什么,我想大部分国产数据库的厂家也没有能力给出准确的答案。不过我还是希望国家主管部门能够在这方面做一些工作,为我们的数据库厂商划出一条知识产权保护的红线来。不过我当时给了他们一个打擦边球的方法,就是把这些系统视图在RDBMS内核里换个名字,而对需要这个功能的用户提供一个完全兼容视图的创建脚本,从而既能够提供最大兼容性,又能最大限度地规避可能存在的法律风险。

延伸 · 阅读

精彩推荐
  • OracleOracle以逗号分隔的字符串拆分为多行数据实例详解

    Oracle以逗号分隔的字符串拆分为多行数据实例详解

    做多选功能时为了简便,会在某个字段中存储多个值,保存时虽然省事,但后续的查询统计时还需要拆分数据才行,因此这时需要将字段内的值分成多行以便后续...

    南清风11682021-08-21
  • Oracle用Mimer Validator检查SQL查询

    用Mimer Validator检查SQL查询

    本文主要介绍了如何用Mimer Validator检查SQL查询的技巧方法和步骤。 ...

    数据库教程网2592019-10-31
  • Oracle为啥SQL Profile不起作用了,你知道吗?

    为啥SQL Profile不起作用了,你知道吗?

    有个客户前阵子一条SQL因为统计信息问题走错执行计划,导致CPU资源耗尽,系统出现严重故障,必须下线部分功能才临时解决了问题,后来在开发商的尝试...

    未知1152023-05-07
  • Oracle惊呆,Oracle的这个坑竟然让我踩上了

    惊呆,Oracle的这个坑竟然让我踩上了

    [[426800]] 今天,系统中的一个业务处理莫名地执行了6个小时都没有结束,正常处理也就是3分钟左右,对原因进行定位,发现是在Oracle客户端上同步执行一个...

    未知1422023-05-07
  • Oracle解析Oracle 8i/9i的计划稳定性

    解析Oracle 8i/9i的计划稳定性

    由Oralce8.1开始,Oracle增加了一个新的特性就是StoredOutlines,或者称为PlanStability(计划稳定性)。这个特性带来三个好处。首先,你可以优化开销很大的语句的...

    Oracle教程网6132019-10-25
  • OracleOracle 数据库特殊查询总结

    Oracle 数据库特殊查询总结

    这篇文章主要介绍了Oracle 数据库特殊查询总结的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下 ...

    祁保义5722019-12-30
  • OracleOracle数据操作和控制语言详解

    Oracle数据操作和控制语言详解

    SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。...

    Oracle教程网3042019-10-25
  • OracleOracle表空间管理和用户管理介绍

    Oracle表空间管理和用户管理介绍

    大家好,本篇文章主要讲的是Oracle表空间管理和用户管理介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览...

    卑微的新手12012022-01-19