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…

相關文章
相關標籤/搜索