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. 全局描述符表(GDT)——《x86汇编语言:从实模式到保护模式》读书笔记09

    在进入保护模式之前,我们先要学习一些基础知识.今天我们看一下全局描述符表(Global Descriptor Table, 简称GDT). 同实模式一样,在保护模式下,对内存的访问仍然使用段地址加偏移 ...

  2. C语言中两个相同类型的结构体变量之间是可以相互直接赋值的

    C语言中,在相同类型的变量间赋值时是直接内存复制的,即将他们的内存进行复制,而两个同类型的结构体变量属于同一种变量,所以赋值时是按照他们的内存分布来直接拷贝的.所以,在C语言中两个相同类型的结构体变量 ...

  3. Apache POI导出excel

    public String exportXls(HttpServletRequest request, HttpServletResponse response) { try { HSSFWorkbo ...

  4. redis实战笔记(7)-第7章 基于搜索的应用程序

    本章主要内容   使用Redis进行搜索 对搜索结果进行排序 实现广告定向 实现职位搜索    

  5. FileStream类的使用(文件流)

    1.什么是FileStream类 FileStream 类对文件系统上的文件进行读取.写入.打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道.标准输入和标准输出.读写操作可以指定为同步 ...

  6. C# 开发者审查代码的41条建议

    1. 确保没有任何警告(warnings). 2.如果先执行Code Analysis(启用所有Microsoft Rules)再消除所有警告就更好了. 3. 去掉所有没有用到的usings.编码过程 ...

  7. @Resource和@Autowired区别

    @Resource和@Autowired都是做bean的注入时使用 历史:  @Autowired     属于Spring的注解    org.springframework.beans.facto ...

  8. Microsoft.AspNet.Identity 的简单使用

    要完成一个简单的注册,登陆,至少需要实现Identity中的3个接口 IUser IUserStore<TUser> : IDisposable where TUser : IUser I ...

  9. 3.C#基础篇-->堆和栈

    一.前言 堆与栈对于理解.NET中的内存管理.垃圾回收.错误和异常.调试与日志有很大的帮助.垃圾回收的机制使程序员从复杂的内存管理中解脱出来,虽然绝大多数的C#程序并不需要程序员手动管理内存,但这并不 ...

  10. 撩课-Java每天5道面试题第24天

    151.springMVC和struts2的区别有哪些? .springmvc的入口是一个servlet即前端控制器(DispatchServlet), 而struts2入口是一个filter过虑器( ...