1. 一般新特性

1.1. Shadow Lost Write Protection

Shadow lost write protection检测到一个丢失的写,它会导致一个主要的数据损坏。可以在不需要Oracle DG备库的情况下为数据库、表空间或数据文件启用Shadow lost write protection。

Shadow lost write protection提供快速的检测和对丢失的写的即时响应,从而最大限度地减少由于数据损坏而在数据库中可能发生的数据丢失。

https://docs.oracle.com/en/database/oracle/oracle-database/18/admin/managing-tablespaces.html#GUID-23154DE0-B2AA-4D73-BBCA-73ED5786FF2B

1.2. 在加密和非加密的CDB之间复制PDB

https://docs.oracle.com/en/database/oracle/oracle-database/18/bradv/rman-duplicating-databases.html#GUID-539E89F6-C0BC-49CB-8D8C-CD8FF88BAF32

1.3. RMAN简化standby的恢复

RECOVER命令的增强使standby数据库能够以最小的人工干预来追上对主库的更改。

简化了备库前滚的过程,并通过手工步骤最小化可能的用户错误。

https://docs.oracle.com/en/database/oracle/oracle-database/18/bradv/rman-recovery-advanced.html#GUID-828A4953-3F7E-4975-ADA4-5469D6794BB0

1.4. 插入到新的CDB之前PDB的备份仍可用

可以通过PREPLUGIN字句利用之前PDB的备份恢复,还原插入到新的CDB中的PDB。

PREPLUGIN字句支持CATALOG,CHANGE,CROSSCHECK,DELETE和LIST命令

https://docs.oracle.com/en/database/oracle/oracle-database/18/bradv/rman-complete-database-recovery.html#GUID-1F67ECAB-B8D0-4547-A5F1-F1C3C7AF2C5D

1.5. non-CDB的备份,在转换为CDB后仍可用

同上

1.6. 使用RMAN将PDB复制到CDB中

可以通过DUPLICATE命令将PDB复制到已有的CDB中。

https://docs.oracle.com/en/database/oracle/oracle-database/18/bradv/rman-duplicating-databases.html#GUID-9E630E2C-3D1B-4594-B738-4B5B43E50C58

2. Sharding

2.1. Centralized Diagnosability and Manageability for Sharded Databases

2.2. Support for PDBs as Shards and Catalogs

2.3. User-Defined Sharding Method

2.4. Sharding Support for JSON, LOBs, and Spatial Objects

2.5. Consistency Levels for Multi-Shard Queries

2.6. Optimizer Enhancements for Sharded Database Queries

2.7. Automatic Deployment of Oracle GoldenGate

2.8. Oracle GoldenGate Automatic CDR

2.9. Oracle RAC Sharding

2.10. Automatic CDR Support of Tables with Unique Indexes/Constraints

3. 数据库总体-新特性

3.1. 连接管理

3.1.1. Oracle Connection Manager in Traffic Director Mode

3.2. 容器数据库架构

3.2.1. Oracle DG环境下拷贝PDB

现在可以使用两个新的初始化参数STANDBY_PDB_SOURCE_FILE_DBLINK 和STANDBY_PDB_SOURCE_FILE_DIRECTORY来自动维护备用数据库,当执行远程克隆PDB或插拔PDB时。

3.2.2. 使用DBCA克隆PDB

3.2.3. PDB Lockdown Profile Enhancements

3.2.4. 可刷新的PDB Switchover

一个可刷新的PDB可以和它的主PDB进行switchover操作。

一个可刷新的PDB:是主PDB的增量更新的副本。这个新的switchover特性允许主PDB和克隆的PDB进行角色互换,适用以下场景:

1. Planned switchover. The former master becomes the new clone, while the former clone becomes the new master. Switching roles may be useful for load balancing between two CDBs.

--对于计划中的switchover操作,该特性在进行切换时可减少两个CDB上的负载(因为两个PDB中的数据几乎一致)。

2. Unplanned switchover. If the master PDB fails, then operations can resume on the refreshable clone PDB. This approach is useful when the failure is isolated to the master PDB, leaving other PDBs unaffected. In such cases, a full CDB-level Oracle Data Guard failover is unnecessary. Data Guard Broker can perform per-PDB failover when two pairs of CDBs reside on two computers, with Data Guard replication in opposite directions for each pair. However, this configuration requires four CDBs. The refreshable PDB approach enables unplanned switchover from a failed master PDB to a refreshable clone PDB between a pair of CDBs.

--如果主PDB损坏了,那么只需要切换这一个PDB即可,不需要切换整个CDB。很显然这样的操作更简单,速度更快,而且对CDB上的其他PDB不会造成影响。

Refreshable Clone PDBs:可以保持和主PDB保持同步,克隆PDB可以随时用来测试,如果主PDB挂了,也可以进行switchover。

https://docs.oracle.com/en/database/oracle/oracle-database/18/multi/cloning-a-pdb.html#GUID-C476B273-469B-4999-8637-A6BA1BD6300A

3.2.5. CDB Fleet管理

CDB fleet是托管着PDB的CDB的集合,你可以作为一个逻辑CDB来管理其中的CDB。

所有Oracle数据库特性,如Oracle Real Application Cluster (Oracle RAC)、RMAN、基于时间点恢复和闪回特性,在CDB fleet都都支持。

CDB fleet功能

一个CDB fleet提供了数据库基础设施,以实现多个CDBs的可伸缩性和集中管理。

CDB fleet适用下列情况下:

1 当你必须为应用程序提供超过最大数量的PDBs(4096),而必须要创建多个CDBs。

2 单个配置中不同的PDBs需要不同类型的服务器以最佳方式运行。

例如,一些PDBs可能需要处理较大的事务,而其他的PDBs主要用于监视,而你希望为这些PDBs提供合适的服务器资源,例如CPU、内存、I/O和存储系统。

3 使用相同应用程序的不同PDBs必须存放在不同的位置。

https://docs.oracle.com/en/database/oracle/oracle-database/18/multi/administering-cdb-fleet.html#GUID-0AA7FC65-F350-473B-96D2-976313514069

3.2.6. PDB Snapshot Carousel

PDB快照是PDB在特定时间点的命名副本。当PDB启用了PDB 快照时,可以创建最多8个快照(超过8个,会覆盖最旧的快照)。快照集称为快照Carousel。

PDB快照carousel维护了一个经常刷新的PDBs副本库。你可以在carousel中执行任何时间点的克隆或时间点恢复。

https://docs.oracle.com/en/database/oracle/oracle-database/18/multi/administering-pdb-snapshots.html#GUID-FF6DF540-0C22-451C-80B3-1ACA8C8CB7D2

4. 安装,配置,补丁

4.1. Zero-Downtime数据库升级

通过Rapid Home Provisioning来进行升级,并且这种升级如果遇到错误是可恢复,可重新开始,可还原的。

https://docs.oracle.com/en/database/oracle/oracle-database/18/cwadd/rapid-home-provisioning.html#GUID-08160350-092E-4546-9B21-C61EBED811B1

4.2. 变更了密码文件默认存放位置

在18c中,密码文件不再存放在ORACLE_HOME中,而是存放在ORACLE_BASE中。

Platform

Required Name

Required Location

UNIX and Linux

orapwORACLE_SID

ORACLE_BASE/dbs

Windows

PWDORACLE_SID.ora

ORACLE_BASE/database

4.3. Read-Only Oracle Home

从18c开始,如果选择了read-only的Oracle home,那么相关的数据库工具和进程将会存放到ORACLE_BASE下,而不是ORACLE_HOME下。

只读Oracle home将软件从数据库配置信息和日志文件中分离出来。这种分离能够轻松地跨不同的部署共享软件。只读Oracle home还简化了版本控制和标准化。

4.4. 基于RPM包安装数据库

18c中可以使用rpm -ivh来安装数据库

安装方法:

https://docs.oracle.com/en/database/oracle/oracle-database/18/ladbi/running-rpm-packages-to-install-oracle-database.html#GUID-BB7C11E3-D385-4A2F-9EAF-75F4F0AACF02

5. 分区

5.1. Parallel Partition-Wise SQL Operations

Parallel Partition-Wise join主要用于更有效和更快的处理large join操作。可以兼容的SQL操作:

l SELECT DISTINCT

l Window functions

5.2. 在线合并分区/子分区

可以在ALTER TABLE MERGE PARTITION和SUBPARTITION语句中指定ONLINE关键字来在线合并分区/子分区。

https://docs.oracle.com/en/database/oracle/oracle-database/18/vldbg/maintenance-partition-tables-indexes.html#GUID-0E7793F7-B38A-427E-846B-7A8651F2A523

5.3. 修改分区策略

可以使用ALTER TABLE MODIFY PARTITION 语句来修改常规(heap-organized)表的分区策略。修改分区策略,比如散列分区到范围分区,可以offline或online执行。将索引作为表修改的一部分进行维护。当在online模式下执行时,转换对正在进行的DML操作没有影响。

https://docs.oracle.com/en/database/oracle/oracle-database/18/vldbg/maintenance-partition-tables-indexes.html#GUID-763391C6-44E8-401D-8119-DC12926F5877

6. 调优

6.1. New SQL Tuning Set API

提供全新的包DBMS_SQLSET来维护SQL调优集,这个包的子程序和DBMS_SQLTUNE包的子程序是一样的。

SQL调优集是一些性能顾问和工具的输入。将SQL调优集API分离到单独的PL/SQL包中,可以更方便地以编程方式操作SQL调优集。

https://docs.oracle.com/en/database/oracle/oracle-database/18/tgsql/managing-sql-tuning-sets.html#GUID-9203BA12-8EDE-4EE5-B4EC-3265824200D7

6.2. 并发执行SQL Performance Analyzer

The default behavior of SQL Performance Analyzer is to execute SQL sequentially when testing to measure performance. In some cases, when very large SQL Tuning Sets are involved, it is beneficial to execute SQL concurrently to expedite the testing process.  This feature enables concurrent execution for SQL Performance Analyzer.

可以加快性能测试速度。

7. 工具

7.1. 数据泵加载数据时,如果遇到数据格式时,可以跳过错误继续加载

impdp的参数DATA_OPTIONS添加了一个新的选项CONTINUE_LOAD_ON_FORMAT_ERROR

8. 性能

8.1. In-Memory

8.1.1. 动态捕获In-Memory 中表达式

用户可以定义一个时间窗口来捕获内存中的表达式。

在以前的版本中,用户只能指定过去24小时或自数据库创建以来的捕获时间间隔。现在捕获时间窗口是灵活的和动态的,使用户能够根据数据库负载情况来制定捕获时间窗口。

https://docs.oracle.com/en/database/oracle/oracle-database/18/inmem/optimizing-in-memory-expressions.html#GUID-B9E46C0C-F076-4651-A476-4B137A0E8A71

8.1.2. 自动化In-Memory

自动In-Memory使用热图数据、列统计数据和其他相关统计数据来管理IM列存储中的对象。在内存压力下,如果更多频繁访问的段将会从IM中受益,IM列存储会将非活动段逐出IM。

https://docs.oracle.com/en/database/oracle/oracle-database/18/inmem/configuring-memory-management.html#GUID-F5D88D68-8A80-4D80-B08F-C6F132797B47

8.1.3. In-Memory支持外部表

In-Memory的列存储支持外部表的数量,使用户能够在外部数据存储上执行高级的分析查询。这个特性对于外部数据的重复查询特别有用,因为它利用了Oracle数据库In-Memory的性能特性,避免了外部存储的不必要访问。

https://docs.oracle.com/en/database/oracle/oracle-database/18/inmem/populating-objects-in-memory.html#GUID-37E2E218-33A2-490E-891D-B627906DE16B

8.1.4. Flexible Parallelization Using In-Memory Dynamic Scans

In-Memory Dynamic Scans可以实现 In-Memory表扫描的透明和动态并行执行。在以前的版本中,数据库使用了传统的Oracle并行执行。虽然传统的表单仍然被支持,但是动态扫描是针对IM列存储的,并根据CPU利用率动态调整。IM动态扫描需要使用Oracle数据库资源管理器。

https://docs.oracle.com/en/database/oracle/oracle-database/18/inmem/in-memory-column-store-architecture.html#GUID-15B0EEBC-31F6-4192-957A-56D79B7E63E2

8.1.5. Scalable Sequences--可伸缩序列

通过在CREATE SEQUENCE或ALTER SEQUENCE语句中指定SCALE子句,可以使序列变得可伸缩。当用于生成具有高并发性的数据摄取工作负载的无序主键或惟一键时,可伸缩的序列特别有效。可伸缩序列大大减少了序列和索引块的争用,并提供了更好的数据加载可伸缩性,而不是使用CREATE SEQUENCE或ALTER SEQUENCE语句的缓存子句配置一个非常大的序列缓存。

可伸缩的序列提高了并发数据加载操作的性能,特别是当序列值用于在单个Oracle数据库实例中填充表的主键列以及Oracle RAC数据库时。

https://docs.oracle.com/en/database/oracle/oracle-database/18/admin/managing-views-sequences-and-synonyms.html#GUID-76663C84-D792-46A3-A25A-03C49DED71AD

9. RAC和GRID

9.1. ASM和ACFS

9.1.1. Storage Conversion for Member Clusters

https://docs.oracle.com/en/database/oracle/oracle-database/18/ostmg/asmcmd-cluster-commands.html#GUID-A749AA9C-4A13-4111-8E69-12F63FAFB06A

9.1.2. ASM数据可靠性提高

可靠性提高体现在两个地方:

l 默认的磁盘损坏的timeout间隔 (DISK_REPAIR_TIME)从3.6小时增加到12小时

l 增加了一个新的磁盘组属性参数CONTENT_HARDCHECK.ENABLED(Exatadata环境)

https://docs.oracle.com/en/database/oracle/oracle-database/18/ostmg/manage-diskgroup-attributes.html#GUID-28A6ABB3-0AAB-4F7F-A843-CD5187F4D8DC

9.1.3. ASM 数据库克隆

ASM数据库克隆提供了PDB的克隆。该特性通过利用ASM冗余特性来处理的。在此之前,为了在硬件故障期间防止数据丢失,ASM提供了冗余副本。Flex磁盘组现在可以提供多达5个冗余副本,其中一个或多个副本可以被拆分,以提供一个数据近乎实时的副本。

与基于存储阵列的复制相比,ASM数据库克隆的优势在于,ASM数据库克隆复制了完整的数据库(PDBs),而不是文件或物理存储块。在数据库环境中,存储阵列或基于文件系统的复制需要在数据库对象之间进行协调,并使用底层技术进行复制。对于ASM数据库克隆,管理员不需要了解物理存储格式。这是面向数据库的存储管理的另一个方面,它提供了ASM Flex磁盘组。

https://docs.oracle.com/en/database/oracle/oracle-database/18/ostmg/asm-filegroups.html#GUID-F0CA1610-780A-40FB-B8BB-88E0C7688CC2

9.1.4. 可以使用Cascade来删除Oracle ASM File Groups

可以在命令ALTER DISKGROUP...DROP FILEGROUP中使用CASCADE选项来删除一个file group以及和它相关联的文件。

如:

ALTER DISKGROUP DATA DROP FILEGROUP DATA_FILE CASCADE;

https://docs.oracle.com/en/database/oracle/oracle-database/18/ostmg/asm-filegroups.html#GUID-B2AC119F-BFFE-4288-A721-E8B97D574632

9.1.5. 不需要在RESTRICTED MOUNT状态下将Normal或High冗余类型的磁盘组转换为Flex磁盘组

在18c中,不再需要将磁盘组以restricted方式mount,就可以Normal或High冗余类型的磁盘组转换为Flex磁盘组。

https://docs.oracle.com/en/database/oracle/oracle-database/18/ostmg/asm-filegroups.html#GUID-096D903B-6646-4927-9AA6-BC6A07AD2310

9.1.6. Oracle ACFS Remote Service for Member Clusters

https://docs.oracle.com/en/database/oracle/oracle-database/18/newft/new-features.html#GUID-8F0A76EB-DFF8-4DC0-AC28-90A02F99459E

9.2. Cluster Health Advisor

9.2.1. Cluster Health Advisor Cross Database Analysis Support

https://docs.oracle.com/en/database/oracle/oracle-database/18/atnms/purpose-cluster-health-advisor.html#GUID-78F409B6-7CB2-4103-9460-4E87F48DCEC2

9.2.2. Cluster Health Advisor Cross Cluster Analysis Support

https://docs.oracle.com/en/database/oracle/oracle-database/18/atnms/purpose-cluster-health-advisor.html#GUID-78F409B6-7CB2-4103-9460-4E87F48DCEC2

9.3. 总体

9.3.1. Shared Single Client Access Names

9.3.2. NodeVIP-Less Cluster

9.3.3. Cluster Domain Proxies

9.3.4. gridSetup-based Management

Gold基于映像的安装(使用gridSetup.sh或gridSetup.bat)取代了使用Oracle Universal Installer安装Oracle Grid Infrastructure的方法。可以使用基于gridSetup的管理来执行管理任务,例如克隆,addNode操作,deleteNode操作以及使用gridSetup.sh或gridSetup.bat命令进行降级。

9.3.5. Reader节点的性能隔离

在Reader节点体系结构中,对Hub节点上的读写实例进行的更新会立即传播到leaf点上的只读实例,它们可以用于在线报表查询或实时查询。Reader节点的性能隔离使在Hub节点上的OLTP能够正常运行,尽管叶节点上的相关数据库实例无法处理更新。

9.3.6. UCP Support for RAC Affinity Sharding

10. 安全

10.1. Ability to Create a User-Defined Master Encryption Key

10.2. 能够使用数据泵来导出导入加密密码的DBLINK

在18c中dblink中的密码是加密的,Oracle数据泵可以处理这些加密密码的dblink。对之前版本的依然支持。

增强了安全性。

10.3. 可以为每个PDB创建自己的秘钥库

每个PDB现在可以拥有自己的密钥库,而不是整个容器数据库(CDB)只有一个密钥库。

10.4. Ability to Use Oracle Data Pump to Export and Import the Unified Audit Trail

10.5. Integration of Active Directory Services with Oracle Database

10.6. Ability to Create Schema Only Accounts

10.7. Ability to Encrypt Sensitive Credential Data in the Data Dictionary

10.8. Encryption of Sensitive Data in Database Replay Files

10.9. Oracle Database Vault Support for Oracle Database Replay

10.10. Enhancements to Oracle Database Vault Simulation Mode

官方文档: https://docs.oracle.com/en/database/oracle/oracle-database/18/newft/new-features.html

Oracle 18c新特性一览的更多相关文章

  1. 18c新特性的一些小结(from JimmyHe)

    Oracle 18c在2018-02-16 release出来的,还是秉承着Oracle的cloud first理念,18c现在cloud和Engineered Systems上推出,想在传统的机器上 ...

  2. Oracle 12c新特性

    转载自:Oracle 12c新特性(For DBA) 一: Multitenant Architecture (12.1.0.1)      多租户架构是Oracle 12c(12.1)的新增重磅特性 ...

  3. Oracle 11g 新特性 --SQL Plan Management 说明

    Oracle 11g 新特性 --SQL Plan Management 说明 参见大神博主文章: http://blog.csdn.net/tianlesoftware/article/detail ...

  4. Oracle 12C 新特性之扩展数据类型(extended data type)

    Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字 ...

  5. Oracle 11g 新特性 – HM(Hang Manager)简介

    在这篇文章中我们会对oracle 11g 新特性—hang 管理器(Hang Manager) 进行介绍.我们需要说明,HM 只在RAC 数据库中存在. 在我们诊断数据库问题的时候,经常会遇到一些数据 ...

  6. Java单元測试工具JUnit 5新特性一览

    Java单元測试工具JUnit 5新特性一览 作者:chszs,未经博主同意不得转载. 经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs JUnit是最流行的开源 ...

  7. IntelliJ IDEA 16 EAP新特性一览

    IntelliJ IDEA 16 EAP新特性一览 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs IntelliJ I ...

  8. (数据科学学习手札111)geopandas 0.9.0重要新特性一览

    本文示例文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 就在几天前,geopandas释放了其最新正式版 ...

  9. (数据科学学习手札129)geopandas 0.10版本重要新特性一览

    本文示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 就在前不久,我们非常熟悉的Python地理 ...

随机推荐

  1. 《垃圾回收的算法与实现》——GC标记-清除算法

    基本算法 标记-清除算法由 ==标记阶段== 和 ==清除阶段== 构成. 标记即将所有活动的对象打上标记. 清除即将那些没有标记的对象进行回收. 标记与清除 遍历GC root引用,递归标记(设置对 ...

  2. java学习-AES加解密之AES-128-CBC算法

    AES算法简介 AES是一种对称加密算法,或称分组对称加密算法.  是Advanced Encryption Standard高级加密标准,简称AES AES的基本要求是,采用对称分组密码体制.分组密 ...

  3. mongodb-手写mongoclient加入到springmvc中

    由于一个项目使用的是springmvc3.x版本, mongodb使用的为3.x版本, 所以springmvc继承的mongodb-data并不可用, 只能自己手写一个mongoclient并加入到s ...

  4. SSH 整合 (Maven)

    1.SSH 教程详见我的上一篇博客 SSH(Struts 2.3.31 + Spring 4.1.6 + Hibernate 5.0.12 + Ajax)框架整合实现简单的增删改查(包含分页,Ajax ...

  5. 功能------常用快捷键(在win10下)

    功能------win10 常用快捷键 在进行学习,记录,编写代码时,需要用到一些功能,用鼠标浪费时间,可以使用快捷键来快速的处理.方便操作. 以下内容分为两类.快捷键以及触控板类(不能享用鼠标) 快 ...

  6. IDF实验室-简单的js解密

    根据加密方法推算解密方法,补全如下 <script> /** * Pseudo md5 hash function * @param {string} string * @param {s ...

  7. java设计模式-----16、解释器模式

    概念: Interpreter模式也叫解释器模式,是行为模式之一,它是一种特殊的设计模式,它建立一个解释器,对于特定的计算机程序设计语言,用来解释预先定义的文法.简单地说,Interpreter模式是 ...

  8. Ubuntu16.04安装jupiter

    Ubuntu16.04安装jupiter 1.安装pip pip是一个安装和管理 Python 包的工具, 是 easy_install 的一个替换品.自然对应Python3,则有pip3. Pyth ...

  9. TensorFlow分布式部署【单机多卡】

    让TensorFlow飞一会儿 面对大型的深度神经网络训练工程,训练的时间非常重要.训练的时间长短依赖于计算处理器也就是GPU,然而单个GPU的计算能力有限,利用多个GPU进行分布式部署,同时完成一个 ...

  10. io流中read方法使用不当导致运行异常的一点

    public class CopyMp3test { public static void main(String[] args) throws IOException { FileInputStre ...