Oracle 18c在2018-02-16 release出来的,还是秉承着Oracle的cloud first理念,18c现在cloud和Engineered Systems上推出,想在传统的机器上安装18c,估计还要等到2018年下半年。

下面,我从我的角度,来快速review一下值得关注的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,可以参考我之前写的【Oracle 12.2新特性介绍】的第48页),也可以支持BCT(Block Change Tracking)的备份方式了。这对于超大的数据库,且是主从都是RAC,且备份发生在从库上,这是非常有效的一种增量备份方式。

2.Automatic Correction of Non-logged Blocks at a Data Guard Standby Database
新增2种类standby logging模式(主要是为了加快主库loading数据):
一种是Standby Nologging for Data Availability,即loading操作的commit会被delay,直到所有的standby都apply data为止。

 
 
1
SQL> ALTER DATABASE SET STANDBY NOLOGGING FOR DATA AVAILABILITY;

一种是Standby Nologging for Load Performance,这种模式和上一种类似,但是会在load数据的时候,遇到网络瓶颈时,先不发送数据,这就保证了loading性能,但是丢失了数据,但是丢失的数据,会从primary中再次获取。

 
 
1
SQL> ALTER DATABASE SET STANDBY NOLOGGING FOR LOAD PERFORMANCE;

3.Shadow Lost Write Protection
创建一个shadow tablespaces(注,是big file tablespace)来提供保护。注,此时你就可以不需要ADG来提供额外的lost write的保护了。
搞mysql的同学,你们是不是发现了什么?这是不是很像double write? 嘿嘿……

4. Backups from non-CDBs are usable after migration to CDB
原来的non-CDB,可以以这种方式,作为一个PDB迁移到当前已经存在的CDB中。

5. Support for PDBs as Shards and Catalogs
天,终于支持shard是pdb了。但是!但是!但是!也只是支持单个pdb在单个cdb中。哈哈哈哈哈,等于没支持。

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。

 
 
1
ALTER SYSTEM CANCEL SQL 'SID, SERIAL, @INST_ID, SQL_ID';

(二)Big Data and Data Warehousing
9. Approximate Top-N Query Processing
注,18c中,增加了 APPROX_COUNT和APPROX_SUM来配合APPROX_RANK的使用。

10. LOB support with IMC, Big Data SQL
LOB对象也支持in memory了。

(三)Database Overall
11. 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,就需要手动复制。)。

12. PDB Lockdown Profile Enhancements
现在可以在application root和CDB root中创建PDB lockdown profile。如果你还没了解什么事application root和lockdown profile,可以参考我之前写的【Oracle 12.2新特性介绍】的第7页和第40页。

你现在还可以根据一个pdb lockdown profile,创建另外一个pdb lockdown profile。

18c包含三个默认的lockdown profile:PRIVATE_DBAAS,SAAS,PUBLIC_DBAAS

13. Refreshable PDB Switchover
PDB refresh一直号称是穷人的ADG,这个特性,在18c中也越来越好用了。支持了switchover。switchover分成计划内核计划外的两种场景。
计划内的,可以切回去,主要用于平衡CDB的负载。
计划外的,主要用于PDB master失效之后,不用整个CDB做切换。
如果你还没了解什么是PDB refresh,可以参考我之前写的【Oracle 12.2新特性介绍】的第37页)

14. PDB Snapshot Carousel
pdb的snapshot备份转盘,默认保留8份,每24小时备份一次。

 
 
1
ALTER PLUGGABLE DATABASE SNAPSHOT MODE EVERY 24 HOURS;

15. New Default Location of Oracle Database Password File
注意,新的密码文件路径已经在ORACLE_BASE,而不是ORACLE_HOME。

16. 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是只读。

17.Online Merging of Partitions and Subpartitions
支持在线合并分区。注,需要使用ONLINE关键字。

18. Concurrent SQL Execution with SQL Performance Analyzer
SPA可以并行运行了(默认情况还是串行),帮你更快的完成SPA测试。

(四)Performance
19. Automatic In-Memory
自动In Memory会根据Heat Map,在内存使用紧张的情况下,将不常访问的IM列驱逐出内存。

20. Database In-Memory Support for External Tables
外部表支持IM特性。

21. Memoptimized Rowstore
在SGA中有一块memoptimize pool区域,大小受MEMOPTIMIZE_POOL_SIZE参数设置,当开启fast lookup的时候,就能利用该内存区域,进行快速的查找。
开启fast lookup,需要在建表语句中加上关键字:

当基于主键查询时,就能使用到fast lookup。

Memoptimized Rowstore将极大的提高物联网中基于主键的高频查询。

(五)RAC and Grid
22. ASM Database Cloning
可以基于ASM做pdb的克隆。基于asm的flex diskgroup来实现。关于flex diskgroup,参考我之前写的【Oracle 12.2新特性介绍】的第17页。


23. Converting Normal or High Redundancy Disk Groups to Flex Disk Groups without Restricted Mount

呵呵,鼓励往flex diskgroup上转型。

(六)Security
24. 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。

(七)其他
25. 新增初始化参数:

 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
ADG_ACCOUNT_INFO_TRACKING
 
FORWARD_LISTENER
 
INMEMORY_AUTOMATIC_LEVEL
 
INMEMORY_OPTIMIZED_ARITHMETIC
 
MEMOPTIMIZE_POOL_SIZE
 
MULTISHARD_QUERY_DATA_CONSISTENCY
 
OPTIMIZER_IGNORE_HINTS
 
OPTIMIZER_IGNORE_PARALLEL_HINTS
 
PARALLEL_MIN_DEGREE
 
PRIVATE_TEMP_TABLE_PREFIX
 
STANDBY_PDB_SOURCE_FILE_DBLINK
 
STANDBY_PDB_SOURCE_FILE_DIRECTORY
 
TDE_CONFIGURATION
 
UNIFIED_AUDIT_SYSTEMLOG
 
WALLET_ROOT

值得说一下的是OPTIMIZER_IGNORE_PARALLEL_HINTS,在纯OLTP的系统中,你终于可以禁用开发人员不受控制的并发了(往往不写并发度)。:)

26. dbms_session.sleep
可以

 
 
1
exec dbms_session.sleep(3);

终于不用再单独grant dbms_lock的权限了。

看到上面的这些新特性,你怎么想?“DBA将死”、“Oracle将实现自动驾驶”?这些新特性是不是还需要DBA? :)

参考:
1. Oracle Database Database New Features Guide, 18c
2. ORACLE 18C: ORACLE 18C.. NEW FEATURES.. WHAT’S NEWS..
3. Franck Pachot (@FranckPachot)

18c新特性的一些小结(from JimmyHe)的更多相关文章

  1. Oracle 18c新特性一览

    1. 一般新特性 1.1. Shadow Lost Write Protection Shadow lost write protection检测到一个丢失的写,它会导致一个主要的数据损坏.可以在不需 ...

  2. JAVA 8 新特性实用总JAVA 8 新特性实用总结结

    JAVA 8 新特性实用总结 作为一个工作两年多的 老 程序猿,虽然一开始就使用 jdk1.8 作为学习和使用的版本,随着技术的迭代,现有的 JDK 版本从两年前到现在,已经飞速发展到了 JDK 15 ...

  3. php 7 新特性整理小结

    php 7 比php 5 性能提升了很多,php 7 新特性主要表现在:1.变量存储字节减小,减少内存占用,提升变量操作速度:2.改善数组结构,数组元素和hash映射表被分配在同一块内存里,降低了内存 ...

  4. 【转】【C#】C# 5.0 新特性——Async和Await使异步编程更简单

    一.引言 在之前的C#基础知识系列文章中只介绍了从C#1.0到C#4.0中主要的特性,然而.NET 4.5 的推出,对于C#又有了新特性的增加--就是C#5.0中async和await两个关键字,这两 ...

  5. Atitit python3.0 3.3 3.5 3.6 新特性 Python2.7新特性1Python 3_x 新特性1python3.4新特性1python3.5新特性1值得关注的新特性1Pyth

    Atitit python3.0 3.3 3.5 3.6 新特性 Python2.7新特性1 Python 3_x 新特性1 python3.4新特性1 python3.5新特性1 值得关注的新特性1 ...

  6. jQuery Mobile 1.1八大新特性介绍

    随着HTML 5时代的来临,移动开发开始进入了一个新的时代,现在只需要懂得HTML5,配合一定的开发框架,就可以开发出十分漂亮的HTML5的移动应用.在众多的 移动HTML5开发框架中,比较著名的是j ...

  7. c# 语法5.0 新特性 转自网络

    本专题概要: 引言 同步代码存在的问题 传统的异步编程改善程序的响应 C# 5.0 提供的async和await使异步编程更简单  async和await关键字剖析 小结 一.引言 在之前的C#基础知 ...

  8. Java SE 6 新特性: Java DB 和 JDBC 4.0

    http://www.ibm.com/developerworks/cn/java/j-lo-jse65/index.html 长久以来,由于大量(甚至几乎所有)的 Java 应用都依赖于数据库,如何 ...

  9. html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题

    一.背景 使用ajax,可以实现不需要刷新整个页面就可以进行局部页面的更新.这样可以开发交互性很强的富客户端程序,减少网络传输的内容.但长期以来存在一个问题,就是无法利用浏览器本身提供的前进和后退按钮 ...

随机推荐

  1. ThreadPool线程池的关注点

    public class TestThreadPool { //线程池维护线程的最少数量 private static final int COREPOOLSIZE = 2; //线程池维护线程的最大 ...

  2. ibatis(sqlmap)中 #与$的使用区别

    在sqlmap文件中不使用“#VALUE#”来原样(参数对应什么类型,就当什么类型,比如拼凑的内容为string则自动加上了‘’)读取,而是$VALUE$方式来读取,即不加任何的东西,比如单引号啥的, ...

  3. 关于EJB,为什么用EJB?为什么不用EJB?

    http://blog.csdn.net/linxi1209163com/article/details/51029890 一:什么是EJB 官方说法,就是企业级是基于语言的服务器框架技术,通过我们可 ...

  4. centOS7.2下 搭建gitlab使用git为团队管理代码

    最近更换了阿里云服务器  使用centOS7.2,目前配置1核2G,搭建gitlab有点吃力,另外如果1核1g就不要搭建了,推荐配置是2核4G以上 下面来简单记录整个搭建过程 注意: 本次实验OS为c ...

  5. SSH框架中NoSuchMethodError: antlr.collections.AST.getLine()的解决方案

    问题: 当配置好SSH框架后,使用Hibernate的Query功能时发生如下异常: NoSuchMethodError: antlr.collections.AST.getLine() 原因: St ...

  6. 装饰器模式(Decorator Pattern)

    装饰器模式 一.什么是装饰器模式   装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构.这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装 ...

  7. Packet for query is too large (5,145 > 1,024). You can change this value on the server by setting the 'max_allowed_packet' variable.

    错误 在使用Mybatis generator时提示MySQL写入过大 Packet for query is too large (5,145 > 1,024). You can change ...

  8. linux总结之find搜索文件(times 3)

    个人原创,转自请在文章头部显眼位置注明出处:https://www.cnblogs.com/sunshine5683/p/10091341.html find命令的各种搜索 一.根据文件名进行查找 命 ...

  9. JSP学习笔记(1)-JSP简介

    1.什么是JSP? JSP是Java server page的缩写,有sun公司倡导,许多公司参与,于1999年推出的一种web服务设计标准.JSP基于Java Servlet以及整个java体系的W ...

  10. Spring boot 入门二:Spring Boot配置文件详解

    一.自定义属性 当我们创建一个springboot项目的时候,系统默认会为我们在src/main/java/resources目录下创建一个application.properties.同时也支持ym ...