微信号:OraNews

介绍:分享数据库技术、新闻与信息,尤其是和Oracle数据库相关的内容,文章内容来自原创、专栏作者投稿或读者投稿.

专家视角 | 小荷的 Oracle Database 18c 新特性

2018-02-23 23:59 何剑敏

作者介绍:何剑敏  大疆创新 互联网事业部 运维部数据库技术团队负责人,曾供职于中国联通,卓望数码,IBM 和 ORACLE ACS 华南团队。多年从事一线的数据库运维工作,有丰富项目经验、维护经验和调优经验,目前带领团队专注于 Oracle,MSSQL,PostgreSQL,MySQL,Redis 和 MongoDB 的云上云下的整体运维。


Oracle 18c 是在 2018-02-16 发布出来的,还是秉承着 Oracle 的 Cloud first 理念,18c 现在 Cloud 和 Engineered Systems 上推出。


下面,从我自己的角度快速 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 ),也可以支持 BCT(Block Change Tracking)的备份方式了。这对于超大的数据库,且是主从都是 RAC,且备份发生在从库上,这是非常有效的一种增量备份方式。


2. Automatic Correction of Non-logged Blocks at a Data Guard Standby Database

新增两种 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 的保护了。

搞 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。

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。

  1. 一个是 STANDBY_PDB_SOURCE_FILE_DIRECTORY,自动寻找 ADG 的数据文件路径(注,在 18c 之前,如果将一个 pdb 插入到一个 standby 环境的中 cdb,需要手动将文件拷贝到 pdb 的 OMF 路径下)

  2. 另一个是 STANDBY_PDB_SOURCE_FILE_DBLINK,方便 remote clone 时自动查找 ADG 文件路径(注:在 18c 之前,如果是本地 clone,就不用复制数据文件,但是远程 clone,就需要手动复制)。


12. 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


13. Refreshable PDB Switchover
PDB refresh 一直号称是穷人的 ADG,这个特性,在18c中也越来越好用了。支持了 switchover。switchover 分成计划内核计划外的两种场景。
计划内的,可以切回去,主要用于平衡 CDB 的负载。
计划外的,主要用于 PDB master 失效之后,不用整个 CDB 做切换。

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

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 来实现。


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. 新增初始化参数: 

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
可以

exec dbms_session.sleep(3);

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

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


相关阅读:

Oracle Database 18c 的10大新特性一览

技术前沿:Oracle 18c 最新特性概览

开工大吉:Oracle 18c已经发布及新特性介绍

极速体验:Oracle 18c 下载和Scalable Sequence新特性


参考资料:

1. Oracle Database Database New Features Guide, 18c

https://docs.oracle.com/en/database/oracle/oracle-database/18/newft/index.html

2. ORACLE 18C: ORACLE 18C.. NEW FEATURES.. WHAT’S NEWS.. 

http://blog.enmotech.com/2017/12/17/14-oracle-18c-oracle-18c-new-features-whats-news/

3. Franck Pachot (@FranckPachot)

https://twitter.com/FranckPachot/




祝大家开工大吉!加入我们,开始新一年的学习吧!

资源下载

关注公众号:数据和云(OraNews)回复关键字获取

‘2017DTC’,2017DTC大会PPT

‘DBALIFE’,“DBA的一天”海报

‘DBA04’,DBA手记4经典篇章电子书

‘RACV1’, RAC系列课程视频及ppt

‘122ARCH’,Oracle 12.2体系结构图

‘2017OOW’,Oracle OpenWorld资料

‘PRELECTION’,大讲堂讲师课程资料

 
数据和云 更多文章 极速体验:Oracle 18c 下载和Scalable Sequence新特性 开工大吉:Oracle 18c已经发布及新特性介绍 恩墨年货送到家-2018,寻梦一起出发 遇见未来 | 对话王璞:谈分布式系统在企业落地的挑战 深入解析:Row Movement 的原理和性能影响与关联
猜您喜欢 你的一件旧衣服,可能是他们过冬的新衣服 南沪艳阳谈U2L---我在金融行业座谈会上的分享 吴小龙同学读者群 【AI实验室】第一课结束 开启AI技术探索 接口测试自动化框架实践指南(二)