Oracle 18c,传说中全球第一款自动驾驶数据库,正式到来。18c不仅仅是数据库,更是一种云服务,包括着Oracle数据库18c,Oracle云基础架构和Oracle云工具,机器学习,能够实现自治驾驶,自治安全,自治修复。数据库自治是否意味着DBA会失业的问题一直困扰着广大的Oracle DBA们,今天我们来详细揭晓一下Oracle 18c中的核心特性,去真实地感知我们即将面临的处境。
首先我们从Oracle数据库的生命周期表中可以看出,18c并不意味着跟以前我们所熟知的11g 12c有天壤之别。事实上,18c在Oracle的产品体系中的真实身份是 Oracle12.2.0.2.
当然,Database 18c是“Oracle自治数据库”的基础,包含着自动化新功能,但没有云架构提供的机器学习,它就不会自动执行,跟传统的数据库没什么两样,它仍然可以在本地运行。接下来我们详细讲解Oracle18c中的核心新特性,知己知彼,才能从容地拥抱变化。
part 1:多租户新特性详解:
新特性1:可刷新的PDB切换
在12.2中,可以通过热克隆的方式,将一个CDB中的PDB复制到另一个CDB中,以在线的方式复制文件实现零宕机。
而18c中,增加了刷新 refresh的功能,当其中一个PDB出现故障或其他原因,需要与另一个PDB保持一致时,只需要通过refresh命令,一键实现同步。并可以设置频率保持实时更新。
切换命令如下:CDB 1:create pluggable database Red;
CDB2:create pluggable database Red from Red@CDB1_Link
create pluggable database Gold;复制代码
CDB1:create pluggable database Brown;
CDB2: create pluggable database Grey;
CDB1:refresh mode every 2 minutes;
此特性可以用于计划内的switchover。使用如下命令:
alter pluggable databaseGrey
refresh mode every 2 minutes
fromGrey@dblink switchover;
也可用于计划外的failover。命令如下(在正常的PDB执行):
alter pluggable database Grey refresh;
alter pluggable database Grey refresh mode none;
alter pluggable database Grey open read write;
新特性2:快照转盘
这个功能有点类似虚拟机中的快照。当为PDB启用快照功能后,您可以创建最多8个快照,类似一个旋转的转盘一样,当多余8个后,最老的快照会被删除。通过快照转盘可以方便地实现基于时间点的恢复。
在采用快照转盘进行基于时间点的恢复时,主要使用 上述 热克隆的技术,来保证恢复后事务的一致性。快照转盘可以实现克隆到特定时间点(或SCN),从快照转盘恢复最近的快照,应用存档日志执行恢复,前滚到所需的时间点alter pluggable database Hot_Clone open;
在整个快照盘中,所有快照会以时间为轴进行轮播,当达到snapshot limit时,会自动覆盖最早的snapshot。 如下:
新特性3、PDB的加密复制在18c中,如果CDB中的PDB需要复制(clone),RMAN可以复制CDB中未加密的PDB或表空间,以便在目标CDB中加密它们。 使用DUPLICATE命令的AS ENCRYPTED子句执行复制。同样,使用DUPLICATE命令的AS DECRYPTED子句将加密的PDB复制到目标CDB而不使用加密。
如下图,CDB2加密,CDB3不加密。但可以畅通实现PDB在二者之间的复制。
新特性4:CDB FleetCDB fleet 是不同CDB的集合,可以作为一个逻辑CDB进行管理。
统一管理带来的好处是:
1、为大量可扩展性和许多CDB的集中管理提供底层基础架构
2、为应用程序提供超过最大数量的PDB
3、管理PDB的适当服务器资源,例如CPU,内存,I / O速率和存储系统。
在CDB fleet中,有一个作为leader的CDB,负责整体资源的协调和管理,并可以通过该CDB直接在其他CDBzhong 直接执行操作。这个CDB叫做 CDB Lead。而其他在fleet中的 CDB则为普通的CDB Member。
其操作关系如下:
该特性可以用于以下场景:1、从主要CDB监控和收集CDB的诊断信息
2、在CDB机群的不同PDB中查询Oracle提供的对象,例如DBA视图
3、作为一个中心位置,可以在其中查看有关多个CDB的所有PDB的信息和状态
新特性5:Container Map
Container Map可以基于存储在CDB表列中的值定义基于PDB的分区策略。通过该功能将CDB的表结构和管理机制可以继承到对应的PDB当中。 选择常用且永不更新的列。
当在CDB的 application root中创建了Container map后,PDB中会有对应的 Map-tab。当Container Map的内容发生更新时,会自动同步到map-tab当中。
更多新特性,会继续分享。也可以直接查看Oracle 18c官方文档。