Oracle 18c新特性详解 - 表和表空间相关的新特性

18c新特性系列回顾:html

Oracle 18c新特性详解-多租户专题:www.jianshu.com/p/4d4fc1d51…算法

Oracle 18c新特性详解:In-Memory 专题:www.jianshu.com/p/239447b8c…数据库

今天分享跟表相关的特性。架构

新特性1:联机表操做oracle

在Oracle 12.2中,支持表两种联机操做:函数

一、在线表移动 online table move:将表从一个表空间在线移动到另外一个表空间。大数据

二、分区分裂:对分区表中现有分区再次进行分裂spa

三、在线分区:将非分区表改成分区表cdn

在Oracle 18c中,将增长如下两种表的在线操做:htm

四、表分区合并:将如今的分区表改变为非分区表

五、表分区重构:一种形式的分区变动为另外一种形式的分区。

以下:

那么,咱们来回顾一下,Oracle在不一样的版本中对表的操做均可以实现哪些,又通过了怎么样的发展过程。

•Oracle Database 11g Release 1

–建立索引

–列上加缺省值

–加约束

•Oracle Database 12c Release 1

–删除索引

–删除约束

–设置为unused列

–表分区移动

若是你的表分区太多不方便,而数据又不太频繁地更新,能够将分区合并为更大的分区,简化管理。这在数据库的之前版本中也能够作到,可是不能联机操做,合并的同时数据没法访问。在Oracle数据库18c中,你能够在线合并分区并维护索引。这个版本里,对表的全部在线操做都齐全了,功能算是完整了。

新特性2:多态表的支持

在18c中,提出了对多态表的支持,多态表中行的类型能够在定义时声明或不声明。多态表函数利用动态SQL功能来建立功能强大且复杂的自定义函数。这对于要求具备适用于任意输入表或查询的通用扩展的接口的应用程序颇有用。

在多态表中封装了更复杂的算法,从而实现隐藏算法,可以利用强大的,动态SQL功能,经过任何表格式进行处理,最终返回SQL行集 (表,JSON, XML doc等)

新特性3:Inline外部表

Inline外部表可以透明访问外部表。使外部表的运行时定义成为SQL语句的一部分,经过SQL直接调用,无需建立仅需一次使用的外部表,也无需在数据字典中建立外部表做为持久数据库对象。这使得开发灵活了不少,简化了访问外部数据的过程。也减小了大量元数据的处理,实现更高效的数据库应用程序。

之前的版本中,访问外部表是这样操做的:

CREATE TABLE sales_xt

(prod_idnumber, …)

TYPE ORACLE_LOADER

LOCATION ’new_sales_kw13')

REJECT LIMIT UNLIMITED );

INSERT INTO sales SELECT * FROM sales_xt;

DROP TABLE sales_xt;

经过inline外部表的引入,能够以更简单的方式实现:

INSERT INTO sales

SELECT sales_xt.*

FROM EXTERNAL( (prod_idnumber, …)

TYPE ORACLE_LOADER

LOCATION’new_sales_kw13')

REJECT LIMIT UNLIMITED);

新特性4:In-Memory 对外部表的支持

Oracle 18c中支持IM对外部表的访问,外部表使得Oracle对外部数据操做更加灵活,而且基于内存列式存储压缩,可以更快的支持大数据量的运算,对于数据仓库环境将会是极大的加强。而且因为外部表的数据基本处于静态,更适合使用In-Memory来处理,Oracle声称这一改进将会带来100倍的提高。

新特性5:私有临时表

咱们知道,临时表是短暂存在的表,只适用于报表类程序。在Oracle数据库18c中,Oracle为临时表提供了更灵活的使用:私有临时表,一个在内存中用完即弃的临时对象。若是开发人员须要为不一样的事务建立不一样的临时表,或在只读数据库使用临时表时,均可以使用私有临时表。这种方法为开发人员提供了更大的灵活性。

新特性6:Shadow Tablespaces

18c中,推出了 Shadow lost write新特性,Shadow lost write在可能致使严重数据损坏以前检测到丢失的写入。 能够为数据库,表空间或数据文件启用Shadow lost write保护,在故障时提供快速检测和即时响应,最大限度地减小因数据损坏而在数据库中发生的数据丢失,而无需Oracle Data Guard备用数据库。

该特性的实现方式就是在数据库中建立shadow tablespace,在建立表空间的语句中附加 LOST WRITE PROTECTION便可。

在建立表空间以后,须要使用alter Database/alter pluggable database 语句为数据库开启或者禁用shadow tablespace。

这一新特性,咱们在18c体系架构图中也有表达:

更多新特性请查看Oracle 18c官方文档。 docs.oracle.com/en/database…

关于多租户新特性:www.jianshu.com/p/4d4fc1d51…

关于In-Memory新特性:www.jianshu.com/p/239447b8c…

相关文章
相关标签/搜索