Oracle 18C新特性介绍

2023-10-19 06:59
文章标签 oracle 特性 介绍 18c

本文主要是介绍Oracle 18C新特性介绍,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Oracle 18c 是在 2018-02-16 发布出来的,还是秉承着 Oracle 的 Cloud first 理念,18c 现在 Cloud 和 Engineered Systems 上推出。Oracle 18c号称是一款自治性的数据库,可以减少很多DBA的工作,很多从事DBA工作的人员是不是要担心自己的工作受到影响?其实Oracle 18c上并未体现的特别明显,不过这是未来的一个趋势和信号!

查看了官方的一些文档资料,就新增的一些新的特点和大家分享一下,18C继续着12C的云数据库的特点,并从18C开始改变了以后版本的命名方式。

Oracle 18C新特性介绍

了解18C的新特性之前,需要简单的对12C有一个基本的认知。2013年6月26日,Oracle发布了Oralce 12C。云(cloud)计算设计。12C引入了CDB与PDB的新特性,在ORACLE 12C数据库引入的多租用户环境(Multitenant Environment)中(注:多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性),允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。

CDB全称为Container Database,中文翻译为数据库容器,PDB全称为Pluggable Database,即可插拔数据库。在ORACLE 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,数据库可以被多个实例所加载。而实例与数据库不可能是一对多的关系。当进入ORACLE 12C后,实例与数据库可以是一对多的关系。

对12C有了基本的特性认知后,就可以了解看看18C以后增加的一些新的特性了,下面列了一些新增的一些实用的新特性。

(一)Availability

  1. Oracle Data Guard Multi-Instance Redo Apply Supports Use of Block Change Tracking Files for RMAN Backups
    现在,Multiple-Instance Redo Apply(也叫 MIRA ),也可以支持 BCT(Block Change Tracking)的备份方式了。这对于超大的数据库,且是主从都是 RAC(实时应用集群),且备份发生在从库上,这是非常有效的一种增量备份方式。
  2. Automatic Correction of Non-logged Blocks at a Data Guard Standby Database
    自动纠正备库因Nologging而导致的坏块问题。新增两种 standby logging 模式(主要是为了加快主库 loading 数据):
    一种是 Standby Nologging for Data Availability,即 loading 操作的 commit 会被 delay,直到所有的 standby 都 apply data 为止。
    SQL> ALTER DATABASE SET STANDBY NOLOGGING FOR DATA AVAILABILITY;
    一种是 Standby Nologging for Load Performance,这种模式和上一种类似,但是会在 load 数据的时候,遇到网络瓶颈时,先不发送数据,这就保证了 loading 性能,但是丢失了数据,但是丢失的数据,会从 primary 中再次获取。
    SQL> ALTER DATABASE SET STANDBY NOLOGGING FOR LOAD PERFORMANCE;
  3. Shadow Lost Write Protection
    创建一个 shadow tablespaces(注:是 big file tablespace)来提供保护。(注:此时你就可以不需要 ADG 来提供额外的 lost write 的保护了), 写丢失的影子保护,可以在表空间、数据库、数据文件级别开启,用于主动提前检查和防止写丢失。
  4. Backups from non-CDBs are usable after migration to CDB
    原来的 non-CDB,可以以这种方式,作为一个 PDB 迁移到当前已经存在的 CDB 中。
  5. Scalable Sequences
    自适应的序列,是为了减少高并发DML下的竞争,通过构建不连续的序列,打散和减轻类似索引之上的分裂竞争等,这是来自Oracle优化最佳实践的增强。
  6. User-Defined Sharding Method
    支持用户自定义分片。这个在12.2中的 beta 版中存在的特性在,在正式发布是被取消了。现在,再次 release 出来了。
  7. Consistency Levels for Multi-Shard Queries
    提供 MULTISHARD_QUERY_DATA_CONSISTENCY 初始化参数,执行之前可以先设置该初始化参数,避免跨分片查询时的 SCN synchronization。
  8. Manual termination of run-away queries
    现在,你可以手动的杀掉一个语句,而不断开这个 session:
    ALTER SYSTEM CANCEL SQL。

(二)Big Data and Data Warehousing

  1. Approximate Top-N Query Processing
    注:18c 中,增加了 APPROX_COUNT 和 APPROX_SUM 来配合 APPROX_RANK 的使用。
  2. LOB support with IMC, Big Data SQLLOB
    对象也支持 in memory 了。

三)Database Overall

  1. Copying a PDB in an Oracle Data Guard Environment新增了2个参数,方便在 ADG 环境中创建 PDB。
    一个是 STANDBY_PDB_SOURCE_FILE_DIRECTORY,自动寻找 ADG 的数据文件路径(注,在 18c 之前,如果将一个 pdb 插入到一个 standby 环境的中 cdb,需要手动将文件拷贝到 pdb 的 OMF 路径下)另一个是 STANDBY_PDB_SOURCE_FILE_DBLINK,方便 remote clone 时自动查找 ADG 文件路径(注:在 18c 之前,如果是本地 clone,就不用复制数据文件,但是远程 clone,就需要手动复制)。
  2. PDB Lockdown Profile Enhancements
    现在可以在 application root 和 CDB root 中创建 PDB lockdown profile。
    你现在还可以根据一个 pdb lockdown profile,创建另外一个 pdb lockdown profile。
    18c 包含三个默认的 lockdown profile:PRIVATE_DBAAS,SAAS,PUBLIC_DBAAS
  3. Refreshable PDB SwitchoverPDB refresh
    支持了 switchover。switchover 分成计划内核计划外的两种场景。计划内的,可以切回去,主要用于平衡 CDB 的负载。计划外的,主要用于 PDB master 失效之后,不用整个 CDB 做切换。
  4. PDB Snapshot Carouselpdb 的 snapshot
    备份转盘,默认保留8份,每24小时备份一次。
    ALTER PLUGGABLE DATABASE SNAPSHOT MODE EVERY 24 HOURS;
  5. New Default Location of Oracle Database Password File
    口令文件路径已经在 ORACLE_BASE,而不是 ORACLE_HOME,以便去除对ORACLE_HOME的更改。
  6. Read-Only Oracle Home
    可以在 dbca 或者 roohctl -enable 来进程 read only oracle home 的安装,运行 orabasehome 命令可以检查当前的 Oracle Home 是否只读,如果这个命令输出的结果和 ORACLE_HOME 一样,则表示 Oracle Home 是可读写的。如果输出是 ORACLE_BASE/homes/HOME_NAME,则表示 Oracle Home 是只读。设置 ORACLE_HOME 为只读,则变化文件将创建于 $ORACLE_BASE, 这是为了标准化、分发共享、滚动升级等提供便利。
  7. Online Merging of Partitions and Subpartitions
    支持在线合并分区,加强了在线维护性。注:需要使用 ONLINE 关键字。
  8. Concurrent SQL Execution with SQL Performance AnalyzerSPA
    可以并行运行了(默认情况还是串行),帮你更快的完成 SPA 测试,这个特性在升级时很有用。

(四)Performance

  1. Automatic In-Memory
    自动 In Memory 会根据 Heat Map,在内存使用紧张的情况下,将不常访问的 IM 列驱逐出内存。
  2. Database In-Memory Support for External Tables
    外部表支持 IM 特性。
  3. Memoptimized Rowstore
    SGA 中有一块 memoptimize pool 区域,大小受MEMOPTIMIZE_POOL_SIZE 参数设置,当开启 fast lookup 的时候,就能利用该内存区域,进行快速的查找。开启 fast lookup,需要在建表语句中加上关键字:当基于主键查询时,就能使用到 fast lookup。Memoptimized Rowstore 将极大的提高物联网中基于主键的高频查询。

(五)RAC and Grid

  1. ASM Database Cloning
    ASM数据库克隆支持多租户数据,这个特点通过ASM冗余提供了一种基于数据的原生克隆方式,可以替代基于存储级别的克隆或复制同步
  2. Converting Normal or High Redundancy Disk Groups to Flex Disk Groups without Restricted Mount
    鼓励往 flex diskgroup 上转型。
    (六)Security
  3. Integration of Active Directory Services with Oracle Database
    和微软的 AD 结合。在18c之前,需要使用 Oracle Enterprise User Security (EUS) 进行交互,现在,可以使用 centrally managed users (CMU) 直接将 AD 的 users 和 groups 和 Oracle 的 users 和 role 进行 mappiing。

以上这些就是Oracle 18c发布的版本中所涉及到的主要特性,更多的新的特性还需要我们要实践的过程中进行发现和总结,不过从Oracle的发展战略来看,后期版本会越来越智能,搭上云计算和人工智能的春风,我们拭目以待,期待Oracle给我们带来更多的惊喜!

转载于:https://blog.51cto.com/13587708/2106861

这篇关于Oracle 18C新特性介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/238143

相关文章

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙