1. 程式人生 > >Oracle12.2中新增的分區功能

Oracle12.2中新增的分區功能

功能 防止 新功能 時間 如果 針對 alt 關鍵字 只讀

Oracle 12.2已經發布一段時間,公網上也可以下載試用。針對12.2,partitioning(分區)也有了不少增強。
  • 自動列表分區
  • 多字段列表分區
  • 只讀分區
  • 分區維護時允許過濾
  • 在線轉換非分區表為分區表
  • 帶分區的外部表
與Oracle Database 12c Release 1中引入的間隔分區方法類似,Oracle 12c Release 2中引入的新分區功能之一是自動列表分區功能,使分區表更易於管理。

基於列的不同值劃分表的功能已經有一段時間了,但是Oracle數據庫12.2中的新增內容是,我們可以根據列中已知和未知的值來初始化表分區。當數據加載到表中時,如果加載的分區鍵值與任何現有分區不對應,則數據庫將自動創建新分區。

在Oracle Database 12c Release 2中,我們現在可以根據多個列的值列表分隔一個表,而不是像以前的版本那樣僅僅是單個列。這被稱為多字段列表分區。因此,如果我們有一個包含整個國家/地區的銷售數據的非常大的表,我們可以根據州(省)以及位於同一州(省)的城市進行再分區。

另一個新功能是只讀分區。不需要整個表是只讀的,而只是表中的某些分區可以被設置成只讀的。現在我們可以針對存儲的歷史數據,設置表中的舊分區是只讀的,以防止對這些“舊”數據的任何DML操作。
作為DBA,我們必須經常執行的常見分區維護操作之一是移動分區 - 也許較舊的分區可以轉移到低成本存儲上的表空間,因為這種數據很少被訪問。現在在Oracle數據庫12.2中,我們可以將分區維護操作(如MOVE PARTITION,MERGE PARTITION和SPLIT PARTITION)與數據過濾相結合。例如,當我們移動一個特定分區的數據時,我們也可以過濾要移動的數據。通過使用INCLUDING ROWS關鍵字指定一個過濾謂詞,我們可以確定執行分區維護操作時應該保留哪些數據以及可以丟棄哪些數據。

12.2中新增的最好的功能之一是,現在我們可以通過MODIFY子句的ALTER TABLE命令以及在表上執行並發DML操作,非常容易地將非分區表轉換為分區表。因此,表的轉換是一個在線過程,不需要停機,並且通過使用UPDATE INDEXES,我們還可以將表上的任何索引轉換為本地或全局分區索引。

我們現在也可以創建一個分區外部表。一般來說,我們可以創建一個在數據庫之外的數據表,對包含這個外部數據的表進行分區。如果是在處理海量的外部數據,這將是非常有益的。

Oracle12.2中新增的分區功能