歡迎光臨
每天分享高質量文章

快訊:Oracle 19c 新特性及官方文件搶鮮下載

隨著2月的春風吹拂,Oracle 19c 的第一個 Exadata 版本發佈將馬上發佈出來,等待可測試版本的朋友們馬上即可如願了。

 

目前官方文件已經可以公開下載到,我為大家整理了一些重要文件,包括概念手冊、新特性手冊、管理員手冊等,可以關註本公眾號(Oranews,回覆關鍵字:19CDOC 獲得下載鏈接。

 

插播招聘信息:雲和恩墨在 成都、重慶、貴陽、銀川、烏魯木齊、昆明、北京 招聘20+名 Oracle 工程師,簡歷直達:[email protected] ,學習 Oracle 技術,誠邀加入和恩墨!

 

從文件標題看,定稿時間是在2019年1月,是發佈版本。

 

對照一下我以前發表的文章,Oracle 19c 的10大新特性,現在大家可以從文件中去找尋你感興趣的文件了。

 

1.Data Guard 備庫DML自動重定向

在使用 ADG 作為備庫進行讀寫分離部署時,可能因為應用的原因,會有偶然的DML操作發送到備庫上,在 19c 中,Oracle 支持自動重定向備庫 DML,具體執行步驟為:

更新會自動重定向到主庫;

主庫執行更新、產生和發送Redo日誌到備庫;

在Redo備庫應用後,ADG會話會透明的看到更新信息的落地實施;

這一特性可以通過在系統級或者會話級設置引數 ADG_REDIRECT_DML 引數啟用,通過這種方式,ADG 會話的 ACID 一致性得以保持,同時透明的支持『多數讀,偶爾更新』應用的自然讀寫分離配置。

這個特性的引入,將進一步的增加 ADG 的靈活性,幫助用戶將備庫應用的更加充分。

2.Oracle Sharding 特性的多表家族支持

在Oracle Sharding特性中,被分片的表稱為 Sharded table,這些sharded table的集合稱為表家族(Table Family),表家族之中的表具備父-子關係,一個表家族中沒有任何父表的表叫做根表(root table),每個表家族中只能有一個根表。表家族中的所有Sharded table都按照相同的sharding key(主鍵)來分片。

在12.2,在一個SDB中只支持一個表家族,在 19c 中,SDB 中允許存在多個表家族,每個通過不同的 Sharding Key進行分片,這是 Sharding 特性的一個重要增強,有了 Multiple Table Families 的支持,Sharding 才可能找到更多的應用場景。

3.透明的應用連續性支持增強

在Oracle RAC集群中,支持對於查詢的自動切換,當一個節點失效,轉移到另外一個節點,在19c中,Oracle 持續改進和增強了連續性保持,資料庫會自動記錄會話狀態,捕獲用於重演的信息,以便在切換時,在新節點自動恢復事務,使DML事務同樣可以獲得連續性支持:

在事務提交後自動禁用狀態捕獲,因為提交成功的事務將不再需要在會話級恢復;

在事務開始時,自動重新啟用狀態跟蹤;

4.自動化索引創建和實施

對於關係型資料庫來說,索引是使得查詢加速的重要手段,而如何設計和創建有效的索引,長期以來是一項複雜的任務。

在 Oracle 19c 中,自動化索引創建和實施技術被引入進來,Oracle 通過模擬人工索引的思路,建立了內置的專家系統。

資料庫內置的演算法將會通過捕獲、識別、驗證、決策、在線驗證、監控的全流程管控索引自動化的過程。

這一特性將會自動幫助用戶創建有效的索引,並通過提前驗證確保其性能和有效性,並且在實施之後進行監控,這一特效將極大緩解資料庫索引維護工作。

自動化還將刪除由新創建的索引(邏輯合併)廢棄的索引,並刪除自動創建但長時間未使用的索引。

5.多實體並行重做日誌應用增強

在Oracle Data Guard環境中,備庫的日誌應用速度一直是一個重要挑戰,如果備庫不能夠及時跟上主庫的步調,則可能影響備庫的使用。

自Oracle 12.2 版本開始,支持多實體並行應用,這極大加快了恢復進度,在 18c 中,開始支持 In-Memory 列式儲存,在 19c 中,並行應用開始支持 In-Memory列式儲存。

6.Oracle的混合分割槽表支持

在 19c 中,Oracle 增強了分割槽特性,可以將外部物件儲存上的檔案,以外部表的方式鏈接到分割槽中,形成混合分割槽表,借助這個特性,Oracle 將資料庫內外整合打通,冷資料可以剝離到外部儲存,熱資料在資料庫中在線儲存。

這個特性借助了外部表的特性實現,以下是一個示例:

CREATE TABLE orders ( order_idnumber,

                      order_dateDATE,  … )

EXTERNAL PARTITION ATTRIBUTES

( TYPE oracle_loaderDEFAULTDIRECTORY data_dir

  ACCESS PARAMETERS (..) REJECT LIMIT unlimited)

PARTITION BY RANGE(order_date)

( partition q1_2015 values less than(‘2014-10-01’)

 EXTERNAL LOCATION (‘order_q1_2015.csv’),

 partition q2_2015 values less than (‘2015-01-01’),

 partition q3_2015 values less than (‘2015-04-01’),

 partition q4_2015 values less than (‘2015-07-01’));

 

7.在線維護操作增強

在不同版本中,Oracle 持續增強在線維護操作,例如在 12.2 開始支持的Online Move、在線修改普通表為分割槽表等特性。

在19c 中,持續增強了智慧的、細粒度的游標失效控制,將DDL操作對於游標失效的影響降至最低,例如,在 19c 中,comment on table的操作,將不會引起游標的失效。

針對分割槽維護的操作,例如Truncate分割槽等,Oracle 將進行細粒度的控制,和DDL操作無關的SQL將不受DDL失效影響。

8.自動的統計信息管理

隨著表資料的變化,優化器表資料統計資料將近實時掃清,以防止次優執行計劃

統計的在線維護內置於直接路徑加載操作中

當資料顯著變化時運行自動統計信息收集作業,例如。,自上次收集統計信息以來,表中超過10%的行被添加/更改

第一個看到需要重新編譯SQL游標的會話(例如,由於新的優化器統計信息)執行重新編譯

其他會話繼續使用舊的SQL游標,直到編譯完成

避免因重新編譯而導致大量會話停頓

9.自動化的SQL執行計劃管理

在 19c 中,資料庫預設的就會啟用對於所有可重用SQL的執行計劃捕獲(當然SYS系統Schema的SQL除外),然後進行自動的執行計劃評估,評估可以針對AWR中的TOP SQL、SGA、STS中的SQL進行。

如果被評估的執行計劃優於當前執行計劃(一般是要有效率 50%以上的提升),會被加入到執行計劃基線庫中,作為後續的執行選擇,而不佳的執行計劃則會被標記為不可接受。

有了這個特性,SQL執行計劃的穩定性將更進一步。

10.SQL功能的增強

在 19c 中,SQL 功能獲得了進一步的增強,這其中包括對於 COUNT DISTINCT的進一步優化,在12c中引入的近似 Distinct 操作已經可以為特定SQL帶來極大性能提升,現在基於位圖的COUNT DISTINCT 操作繼續為查詢加速。

除此之外,LISTAGG 增加了 DISTINCT 關鍵字,用於對運算元據的排重。

ANY_VALUE 提供了從資料組中獲得隨機值的能力,如果你以前喜歡用 Max / Min 實現類似的功能,新功能將顯著帶來效率的提升。ANY_VALUE 函式在 MySQL 早已存在,現在應該是 Oracle 借鑒和參考了 MySQL 的函式做出的增強。

在SQL方面,Oracle 的能力超乎想象。

新技術、新應用,日新月異,祝大家永葆一顆學習的心,不斷向上,早日找到自己在技術生涯的安心之所。

    赞(0)

    分享創造快樂