首页 > 数据库 >Oracle Database 23c 新特性预览

Oracle Database 23c 新特性预览

时间:2023-10-22 23:45:30浏览次数:42  
标签:Database 数据库 23c JSON SQL Oracle

Oracle Database 23c 新特性预览

甲骨文云技术2022-11-18 999

在2022年10月18号的Oracle Cloud World大会上,Oracle 宣布了令人期待的Oracle Database 23c Beta 版。这是世界领先的融合数据库的最新版本,支持所有数据类型、任意工作负载和多种开发风格。Oracle 提出了最新的数据库愿景:让开发和运行任何规模的任何应用和分析都非常容易,对于开发者、数据分析师而言都进一步简化了工作模式。最有亮点的能力就是划时代的提出了JSON Relational Duality 能力,第一次在数据库领域将关系型和对象型两种架构的优势合二为一,即避免了关系型从开发人员角度看需要理解的复杂星型模型,也避免了从文档对象型模式固有的冗余存储、数据更新的高代价和困难的并发控制能力,这个从Oracle数据库代码的底层改造酝酿数年的能力终于正式面世。

Oracle Database 23c,代号为“App Simple”,专注于简化应用程序开发。它提供跨越任何数据执行交易和查询,以及在任何数据组合上运行任何工作负载的独特能力,其特有架构可支持容器、事件、REST、低代码、SaaS等。Oracle数据库服务和产品组合中的许多其他创新扩展了 Oracle 在任务关键型工作负载上的性能、安全性和可用性方面的领先地位。

Oracle Database 23c 提供了300+个新特性和增强功能,可为使用 JSON、图形或微服务编写的应用程序实现突破性的开发人员生产力,同时还增强了 SQL 以使其更易于使用,并将 JavaScript 添加为存储过程语言。

现代应用程序使用数据技术的深度和广度可能会导致开发和运行应用程序变得越来越复杂。Oracle Database 23c “App Simple” 引入了改变游戏规则的新技术,使开发和运行这些现代应用程序变得更加容易。

下面我们来看看23c 的部分新特性列表:

这只是部分新列表,正式版的发布可能有变化,下面我们拓展一下看看部分新特性:

JSON 关系二元性(JSON Relational Duality)

对于JSON我想大家都不陌生,Oracle DB 在12c 开始支持JSON, 在DB 21c使用新的高性能二进制JSON数据类型,增加诸多特性, 在 23c 中JSON 的支持进一步加强 - JSON Relational Duality。这项突破性创新用于解决应用程序表示数据的方式与关系数据库存储数据的方式之间的不匹配问题。JSON Relational Duality 允许数据同时使用应用程序友好的 JSON 文档和数据库友好的关系表,从而简化了应用程序开发。在Oracle Database 23c中,JSON Relational Duality兼具关系模型与JSON文档模型的优势,结束了两者之间的长期争论。它将数据以高效的规范化格式存储在关系表中,但应用程序以 JSON 文档的形式访问,从而在架构上兼得JSON的用例简单性和关系模型的多用例功能,将JSON和关系模型的优势融合在一个数据库中,而无需进行任何权衡。

相信JSON Relational Duality不仅仅是 Oracle 的一个创新特性,这项技术将改变开发人员的使用方式,也将被业内许多其他产品采用。

可操作属性图

Oracle将图形数据功能引入23c关系数据模型,Oracle以前支持将图形作为单独的数据模型,与JSON类似。它现在与Oracle数据库的图形集成更为深入,使用23c,用户以在现有表(关系或 JSON)上构建图形数据,无需创建单独的图形表示;允许在交易事务系统中使用实时图形分析,提供以前在图形数据库中没有的并发级别,还提供 Oracle 数据库的所有性能、高可用性和安全特性。随着新交易的处理,Operational Property Graphs 可以实时识别金融交易中的欺诈行为,识别客户社区以获取零售建议。Oracle还添加了对SQL属性图查询语言的支持,该语言可帮助开发人员更方便的创建图形应用程序。

Oracle Database 23c是第一个添加对 SQL/PGQ 标准支持的商业数据库。

微服务支持

除了 Oracle 对微服务的全面支持之外,新功能分布式微服务事务(称为 sagas)的自动化处理,这使得构建跨多个微服务事务的应用程序变得异常简单,更重要的是,如果其中任何一个或全部未能提交,安全可靠地回滚事务。此外,还改进了事务事件队列的性能,这是支持数据库中微服务应用程序的关键。

多种数据类型和 SQL 增强

听取用户的反馈后,23c 添加了用户一直在请求的新 SQL 数据类型和功能。比如增加了布尔数据类型;在SQL 方面添加了不带FROM子句的SELECT 查询;基于别名的GROUP BY;表关连的直接更新;Unicode-14 支持等诸多新特性。

SQL 域(SQL Domains)

域的概念对于曾经使用 Oracle Designer 进行 ERD 和数据库设计的任何人来说都非常熟悉。域是特定类型数据元素的通用定义,例如名称、邮政编码、国家代码。这个通用定义可以有几个属性——例如格式(检查约束)、默认值、默认显示格式和按基于域的值排序时要使用的表达式。

在 23c 中,域可以定义为数据库对象(如下所示),并且在定义列时,可以将其链接到域定义,形成一个潜在元数据组。但不仅如此:针对域定义的检查约束由列继承。通过新函数 DOMAIN_DISPLAY 和 DOMAIN_ORDER 可以在查询语句中使用显示格式和 order by 表达式。

自动物化视图

在 Oracle Database 23c 中,改进创建物化视图的方式。使用机器学习来为自动生成的物化视图提出更好的建议,提高分析性能。底层机器学习框架更好地理解物化视图能为您的分析工作带来的好处,以及它可能给数据库带来的维护负担。与我们所有的自动化功能一样,我们允许您自动或手动接受它建议的更改。

使用机器学习增强实时统计

与改进自动物化视图一样,Oracle正在使用机器学习来提高实时统计的准确性。这种变化使我们能够更好地预测数据将如何随时间变化,从而提供更好的信息来规划查询执行。这种方法可以在不进行昂贵计算的情况下产生准确的优化器统计信息。

无锁列值保留

为了维护数据完整性,显式或隐式锁定数据是数据库最重要的特征之一。但是,如果高并发的应用场景或被长时间运行的事务阻塞,可能会阻碍业务运营。在 Oracle Database 23c 中,我们支持无锁列值保留。这允许开发人员创建规则,仅当库存水平低时才需要锁定数据行,而不是始终锁定数据。然后仅在提交时锁定数据,从而可能改善最终用户体验和吞吐量。

滚动补丁

影响或更改数据字典结构的补丁现在可以滚动方式应用,并在补丁应用到最后一个实例后启用。通过消除应用补丁的停机时间,进一步提高可用性。

实时 SQL 计划管理

当 Oracle 数据库遇到性能下降时,它会实时提供最佳计划来替代原执行计划。提高应用程序和升级的整体可靠性。

K8s 和 Podman 上的 RAC

Kubernetes 是许多组织的企业架构的关键组件。Oracle 为希望在这种以容器为中心的架构中运行 Oracle DB 的客户提供支持,可以轻松部署、创建和管理实例。在 Oracle Database 23c 中,通过在 K8s 和 Podman 中运行Oracle RAC 的用户,现在可以在计划内和计划外的中断期间都受益于业务连续性。

开发者角色

23c,在数据库中创建了一个开发人员角色,该角色为应用程序开发人员提供了他们在 Oracle 数据库上设计、实施和部署,优化应用程序所需的权限。这个新角色消除了 DBA 向开发人员授予一组过于宽松的权限的需要,这些权限可能是他们完成工作所不需要的,并且可能会暴露安全风险。

SQL 防火墙(SQL Firewall)

在 Oracle Database 23c 中,Oracle SQL 防火墙通过监视和阻止来自数据库内部的“未经授权的 SQL”和 SQL 注入攻击,提供针对常见数据库攻击的实时保护。它首先收集所有应该允许的 SQL(“允许列表”),然后检测、阻止和记录任何意外的 SQL。SQL 防火墙嵌入并内置于 23c 数据库中,确保无法绕过。

OKafka

Kafka 已经成为业界的重要标准。在 Oracle Database 23c 中,支持允许将 Oracle 数据库用作 Kafka 应用程序的源和目标。Kafka 应用程序现在可以利用高性能事务事件队列 (TxEventQ) 以最少的代码更改直接基于 Oracle 数据库运行。

Kafka Java API 现在可以连接到 Oracle 数据库服务器并将 TxEventQ 用作消息传递平台。Oracle TxEventQ 还支持 TxEventQ 和 Kafka 之间的双向信息流,以便近实时地在 TxEventQ 或 Kafka 中进行更改。

Javascript存储过程

在Oracle 21c中引入的MLE支持了数据库内部的Javascript ,现在更进一步,23c支持javascript存储过程,让数据库的处理能力进一步扩展和增强。这意味着开发人员可以轻松地在数据库中使用这种流行语言创建存储过程和调用业务逻辑。更重要的是,可以利用成千上万的 JavaScript 库来简化存储过程的创建。

PDB级别的只读备库(Read-Only Per-PDB Standbys)

Oracle在21.7版本引入了PDB层的Data Guard可用性特性(简称:DGPDB),这个多租户新的Data Guard特性将用来替代传统的CDB架构层的Data Guard。它允许客户实施高效的CDB 层的Data Guard,或者更灵活的PDB层Data Guard(在每个PDB上配置、维护和独立的Switchover、Failover操作)。允许单个 PDB 故障转移到其备用库而不是整个CDB 故障转移。在 Oracle Database 23c 中,我们现在允许以只读方式打开备用 PDB,进一步增加了在备库上跑报表的解决方案的灵活性。

改进的机器学习算法

Oracle 数据库内机器学习算法的新改进使文本和数据的分类更加简单,同时提供了更好的性能和灵活性。

优先交易

DBA 经常面临的问题之一是当一个事务阻塞了业务运行,导致应用运行缓慢,通常需要 DBA 亲自去做干涉。在 Oracle Database 23c 中,用户现在可以启用自动将高优先级事务优先于低优先级事务的功能。阻塞高优先级事务的低优先级事务可以自动中止。这减轻了 DBA 的管理负担,同时保持了高事务吞吐量。

单表支持4096列

Oracle 此前版本单表支持 1000列。在23c中,单表支持列数量扩展到 4096 列。这简化了需要大量属性的应用程序的开发,例如 ML 和 IoT。

Azure AD Oauth2 集成

新功能支持从 Microsoft Azure 云单点登录到 Oracle 数据库服务实例。Azure Active Directory OAuth2 集成将使客户能够更轻松地将其 Azure 应用程序连接到 Oracle 数据库。

23c数据库还有大量的新特性,等待着我们去尝试,相信一定会给您带来不一样的体验。

这里需要关注一下升级到23c的路径:

只有19c、21c可以直接升级到23c。

所以还在使用12c 以前版本的小伙伴,应该考虑尽快把数据库升级到19c。

11月29日“云领未来 数聚中国” 甲骨文云技术嘉年华将在线开启,我们将浓缩2022甲骨文全球云大会(Oracle CloudWorld) 的精华内容,在本次云技术嘉年华重磅推出!

届时,甲骨文中国高管和技术大咖将携手本地优秀行业翘楚和合作伙伴为您抽丝剥茧深度解读全球云大会中的前瞻技术成果、云战略布局、创新数据库、极简开发全球优秀客户实践分享,并深度结合中国客户需求与案例实践

大咖云集,思想碰撞,不容错过。

立即扫码 报名参会

  • 编辑:赵靖宇

*活动最终解释权归甲骨文公司所有

oracle创建用户sql注入oracle执行计划oracleoracle 23c 文章转载自甲骨文云技术,如果涉嫌侵权,请发送邮件至:[email protected]进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

    愤怒的蜗牛 暂无图片 2022-11-21 赞 暂无图片点赞 回复

相关阅读

Oracle Linux 7.9 + ASM安装Oracle 12CR2 董大威 815次阅读 2023-09-28 09:20:24 精彩回顾|2023 ACDU 中国行·成都站圆满成功! 墨天轮编辑部 729次阅读 2023-10-16 18:39:42 9月“墨力原创作者计划”获奖名单公布,10月起连更挑战等你来战! 墨天轮编辑部 683次阅读 2023-10-11 16:12:31 数据库管理-第109期 19c OCM考后感(20231015) 胖头鱼的鱼缸 481次阅读 2023-10-15 13:07:08 Oracle数据库安装配置详细教程汇总(含11g、12c、18c、19c、21c、23c) 墨天轮编辑部 459次阅读 2023-10-19 16:45:17 关机重启导致 ASM 磁盘丢失数据库无法启动 JiekeXu 440次阅读 2023-10-05 20:59:24 ORACLE 23c 初体验及 新特性与 MySQL 对比 lps 359次阅读 2023-09-23 17:12:03 Red Hat Enterprise Linux 7.6安装Oracle 12CR2 董大威 346次阅读 2023-09-25 09:07:58 8月15,8点15,来自甲骨文的中秋祝福! 甲骨文云技术 329次阅读 2023-09-29 11:52:04 数据库管理-第108期 因Exadata存储节点操作系统空间异常的紧急处理(20230928) 胖头鱼的鱼缸 328次阅读 2023-09-28 21:46:29 甲 甲骨文云技术   关注 294 文章 134 粉丝 256K+ 浏览量 暂无图片 获得了435次点赞 暂无图片 内容获得374次评论 暂无图片 获得了260次收藏 热门文章 手把手教你:使用Kettle实现数据同步 2020-01-0411990浏览 Oracle 19c让JSON如此简单 2020-01-0810199浏览 手把手教你19c新特性:实时统计信息收集 2019-12-215855浏览 手把手教你升级到Database 19c(1) 2019-12-124674浏览 手把手教你:使用Kettle实现数据同步(2) 2020-01-053788浏览 在线实训环境入口   Oracle 18C 在线实训环境 查看详情  最新文章 Oracle GoldenGate 路线图和战略 2天前45浏览 微软Azure数据中心上的Oracle数据库服务 2023-10-1054浏览 拒绝勒索,恢复无忧:零数据丢失恢复一体机 (ZDLRA) 2023-10-0851浏览 Oracle CloudWorld 2023: Greg Pavlik技术主题演讲——生成式人工智能的未来 2023-09-29249浏览 8月15,8点15,来自甲骨文的中秋祝福! 2023-09-29329浏览    

标签:Database,数据库,23c,JSON,SQL,Oracle
From: https://www.cnblogs.com/yaoyangding/p/17781393.html

相关文章

  • oracle查询执行过sql语句
    一、oracle中查找某段时间执行的操作记录selectsql_text,module,first_load_timefromv$sqlareawherefirst_load_time>'2019-02-02/02:02:02'andfirst_load_time<'2019-02-02/02:02:02'orderbyfirst_load_time二、查看某一时间的执行过的所有sqlselect......
  • Databases
    FundamentalsofMySQLMySQL:是用于管理文件的一个软件服务端软件:socket服务端、本地文件操作、解析指令(SQL语句)客户端软件(各种各样):socket客户端、发送指令、解析指令(SQL语句)ps:DBMS数据库管理系统、SQL语句技能:安装服务端和客户端学习SQL语句规则;指示服务端做......
  • 查询查询Oracle数据表中字段的所属表(oracle字段所在表)
    在使用Oracle数据库时,我们经常需要在Oracle中查询某个字段的所属表名。本文将会介绍如何通过两种不同的方法来查询Oracle数据表中字段的所属表。使用Oracle自带的dba_tab_cols视图查询Oracle自带有dba_tab_cols视图,我们可以通过该视图查询Oracle数据库某个字段的所属表。例如,......
  • 2023CSP-S游记
    2023CSP-S游记赛前上午去花卉市场看了半天花,算是放松放松,主要是为了晚上给干妈过50岁生日。还以为是2点开始,1点40多就到了,然后去买了杯奶茶,然后进场。结果我是第一考室第一个QwQ赛时花了半个小时看题,思路都是很快的出来了。T1以为是一个分讨,结果直接枚举就可以了,......
  • oracle使用dblink连接postgresql
    环境:oracle    数据库:192.168.22.201端口号6666操作系统:RHEL7.6postgresql数据库:192.168.22.20  端口号5432操作系统:RHEL7.6pg数据库配置1、修改pg_hba.conf文件hostalllanmc192.168.22.201/24md52、重新加载服务systemctlreloadpostgresql-15.serviceo......
  • oracle使用dblink连接mysql
    在oracle数据库访问mysql数据库数据环境Oracle 数据库:192.168.22.6端口1521操作系统:RHEL7.6MYSQL数据库:192.168.22.9端口3306操作系统:RHEL7.6 用户:lanmc,密码:lanmc123,数据库lanmcORACLE数据库配置1、oracle服务端安装mysqlodbcmysqlodbc下载地址:https://dev.mysql......
  • Oracle数据编纂(脱敏)
    OracleDatabase-EnterpriseEdition-Version12.1.0.2andlater1.问题描述客户需求:Oracle数据库里面能不能实现这么一个功能,让符合条件的用户可以看到表里面的所有数据,而另外一些人(比如权限低的用户)虽然能查询表,但是对某些敏感数据全部用星号加密了。效果如下图所示:=>2.问题......
  • Oracle获取执行计划的七种方法以及使用场景
    一.explainplanforselect*fromt1,t2 wheret1.id=t2.id andt1.idin(5,6);select*fromtable(dbms_xplan.display());优点无需真正执行,快捷方便缺点1.没有输出运行时的相关统计信息(产生多少逻辑读,多少次物理读,多少次递归调用等);2.无法判断是处理了多少行;3.无法判断表被......
  • oracle怎样分批查询
    在Oracle中,分批查询通常是通过使用"分页"的方式来实现的。可以使用ROWNUM伪列、OFFSET关键字和FETCHFIRST关键字来完成分页查询。具体地,可以使用如下的SQL语句进行分页查询:SELECT*FROM(SELECTA.*,ROWNUMRNFROM(SELECT*FROMyour_tableWH......
  • Oracle数据库中文显示乱码
    问题sql脚本导入到Oracle数据库,中文数据显示乱码。原因本地环境没有配置数据库编码格式,需要跟服务器上数据库编码格式统一。解决方法1.查询数据库编码格式,使用Selectuserenv('language')fromdual语句查询数据库编码格式。2.在**系统环境变量**配置:N......