Oracle 18c新特性一览

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,DELETELIST命令

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. 使用RMANPDB复制到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是托管着PDBCDB的集合,你可以作为一个逻辑CDB来管理其中的CDB

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

CDB fleet功能

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

CDB fleet适用下列情况下:

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

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

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

使用相同应用程序的不同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-onlyOracle 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 PARTITIONSUBPARTITION语句中指定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)表的分区策略。修改分区策略,比如散列分区到范围分区,可以offlineonline执行。将索引作为表修改的一部分进行维护。当在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 SEQUENCEALTER SEQUENCE语句中指定SCALE子句,可以使序列变得可伸缩。当用于生成具有高并发性的数据摄取工作负载的无序主键或惟一键时,可伸缩的序列特别有效。可伸缩序列大大减少了序列和索引块的争用,并提供了更好的数据加载可伸缩性,而不是使用CREATE SEQUENCEALTER 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. RACGRID

9.1. ASMACFS

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数据可靠性提高

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

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

增加了一个新的磁盘组属性参数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状态下将NormalHigh冗余类型的磁盘组转换为Flex磁盘组

18c中,不再需要将磁盘组以restricted方式mount,就可以NormalHigh冗余类型的磁盘组转换为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

18cdblink中的密码是加密的,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

猜你喜欢

转载自www.cnblogs.com/DataArt/p/10018491.html