1partitioning:external tables(外部表)
外部分區表提供了将分區的hive表映射到oracle資料庫生态系統以及在基于hadoop分布式檔案系統(hdfs)的資料存儲之上提供聲明分區的功能。
作用
oracle資料庫基于外部hdfs的資料存儲功能,使得資料庫分區能夠實作更進階别的查詢性能和增強的資料維護。
2enhancing declarative constraint support(增強聲明限制支援)
在内部和外部表上定義為聲明性和非強制性的限制更全面地用于查詢處理優化,同時增加了内部和外部表的聲明性not null限制以及外部表的所有聲明性限制(唯一性,主鍵和主鍵 - 外鍵關系)的支援。
允許外部資料的聲明性限制定義有助于提高查詢性能,同時優化任何複雜sql操作的資源消耗,而不管資料是否駐留在資料庫内。
3oracle parallel query services on oracle rac read-only nodes(oracle rac隻讀節點上的oracle并行查詢服務)
oracle rac隻讀節點上的oracle并行查詢服務表示可擴充的并行資料處理體系結構。 該架構允許配置設定專用于并行執行查詢的大量處理引擎。
oracle并行處理伺服器場允許使用者在大型叢集系統上部署可擴充的處理架構,專門用于并行查詢操作。
4dimensional in-database analysis
分析視圖通過星型模式提供商業智能層,進而可以輕松地使用層次結構、級别、聚合資料和計算的度量擴充資料集。
分析視圖功能包括新的ddl語句
create attribute dimension create hierarchy create analytic view
及其相關的alter和drop語句,新計算度量表達式文法和新資料字典視圖。
分析視圖允許資料倉庫和商業智能應用程式開發人員使用時間序列和其他計算來擴充星型模式,使資料對于業務使用者更有價值,并且無需在應用程式中定義計算。 可以使用簡單的sql查詢來查詢分析視圖,進而通過消除對複雜sql生成器的需求來簡化應用程式開發。計算可以在分析視圖中定義,可以通過在sql選擇清單中包括度量名稱來選擇。 分析視圖提高了應用程式的一緻性。通過在資料庫中集中定義聚合和計算規則,可以減少或消除不同報告工具中不一緻結果的風險。
5enhancing sql plan management(增強sql執行計劃管理)
sql執行計劃管理(spm)利用更大的計劃資訊池(包括自動工作負載存儲庫(awr))作為sql計劃基準的源。 spm還得到增強,為客戶提供更具選擇性的計劃捕獲和更容易的驗證。客戶可以利用sql計劃管理來滿足其特定的應用程式需求。
擷取執行計劃的方式:
awr
從自動工作負載存儲庫(awr)快照加載計劃。您必須指定快照範圍的開始和結束。或者,您可以應用過濾器以僅裝入滿足指定條件的計劃。預設情況下,優化程式在下次資料庫執行sql語句時使用加載的計劃。
共享sql區域
直接從位于sga的共享池中的共享sql區域加載語句的計劃。通過對子產品名稱,模式或sql id應用過濾器,可以辨別要捕獲的sql語句或sql語句集。下次資料庫執行sql語句時,優化程式将使用這些計劃。
當使用提示手動調整應用程式sql時,直接從共享sql區域裝載計劃很有用。因為您可能無法更改sql以包括提示,填充sql計劃基線可確定應用程式sql使用最佳計劃。
sql調優集(sts)
将sql工作負載的計劃捕獲到sts中,然後将計劃加載到sql計劃基準中。下次資料庫執行sql語句時,優化程式将使用這些計劃。從sts批量裝載執行計劃是防止資料庫更新後計劃回退的有效方法。
暫存表
使用dbms_spm軟體包定義登台表dbms_spm.pack_stgtab_baseline以将基準複制到登台表中,并使用oracle資料泵将表轉移到另一個資料庫。在目标資料庫上,使用dbms_spm.unpack_stgtab_baseline從暫存表中解壓縮計劃,并将基準放入smb。
一個用例是從新的應用程式子產品向資料庫中引入新的sql語句。供應商可以使用sql計劃基準為新的sql運送應用程式軟體。以這種方式,新sql使用已知的計劃,以在标準測試配置下提供最佳性能。或者,如果您在内部開發或測試應用程式,請從測試資料庫導出正确的計劃并将其導入生産資料庫。
存儲的大綱
将存儲的大綱遷移到sql計劃基準。遷移後,您可以使用存儲的概要保持相同的計劃穩定性,同時可以使用sql計劃管理提供的更進階的功能,例如計劃演進。
6scan rate and in-memory columnar statistics(掃描速率和記憶體中列的統計)
dbms_stats現在支援外部表掃描速率和記憶體列存儲(im列存儲)統計。
如果資料庫使用記憶體中列存儲,則可以将im_imcu_count設定為表或分區中的記憶體壓縮單元(imcu)的數量,并将im_block_count設定為表或分區中的塊數。 對于外部表,掃描速率指定以mb /秒為機關掃描資料的速率。
7band join enhancements(帶加入增強)
帶連接配接是一種特殊類型的非連字元,其中一個資料集中的鍵值必須落在第二資料集的指定範圍(也就是“帶”)内。 當資料庫檢測到帶連接配接時,資料庫更有效地評估帶連接配接的成本,避免不必要的掃描落在定義的帶外的行。在大多數情況下,優化的性能與等值連接配接的效果差不多。
帶連接配接優化案例
以下示例查詢每個員工與其他員工相比,工資差距範圍在$100之間的。 是以,帶具有$ 200的寬度。 這些例子假設可以比較每個雇員的工資與自己的工資。 以下查詢包括部分樣本輸出:
在不使用帶連接配接優化的時候,執行計劃如下:
使用帶連接配接的執行計劃如下:
我們看到,在12.2中,不再具有單獨的filter的操作。
8parallel recursive with enhancements(并行遞歸with增強)
oracle資料庫通過使用專有connect by子句和符合ansi标準的遞歸with子句來支援遞歸查詢。并行遞歸with子句允許此類型的查詢以并行方式運作。
遞歸with查詢原理
遞歸with類型查詢是典型的在社交圖中找到的圖形資料,例如twitter圖形或通話記錄。遞歸with類型查詢也常用于交通網絡(例如,用于飛行路徑,道路等)。圖形資料本質上是循環的,是以,遞歸查詢是圖形資料的分析處理的自然候選者。遞歸with確定在圖中從單個源節點到單個或多個目的地節點的最短路徑的有效計算。雙向搜尋用于確定從圖形中從單個源節點到單個或多個目的地節點的最短路徑的有效計算。雙向搜尋從源節點和目的地節點開始,然後在兩個方向上前進搜尋。實作諸如貪婪搜尋,無中斷中間路徑的修剪和雙向搜尋的技術以優化性能。
9cursor-duration temporary tables cached in memory(遊标持續時間臨時表在記憶體中緩存)
複雜查詢通常會多次處理相同的sql片段(查詢塊)以回答業務問題。 這些查詢的結果可以在内部存儲,以避免對同一查詢片段進行多重處理,實作為光标持續時間臨時表。 使用這個新功能,這些臨時表可以完全駐留在緩存中,而無需将它們寫入磁盤。
對于部分較複雜的關鍵操作,緩存中間結果集有助于提高系統性能,降低i/o資源消耗
10local temp tablespaces(本地臨時表空間)
hub-leaf cluster 環境中的單個葉節點可能溢出到本地temp表空間。此功能減少了傳輸到hub nodes和公共基礎架構的資料量,為大量節點實作更好的可擴充性。
11oracle database can contain both read/write and read-only instances(oracle資料庫可以包含讀取/寫入和隻讀執行個體)
oracle 12.2在同一資料庫中提供兩種類型的執行個體:讀/寫和隻讀。
讀/寫執行個體是正常的oracle資料庫執行個體,可以處理對資料的更新(例如,dml語句update,delete,insert和merge),分區維護操作等。可以直接連接配接到讀/寫執行個體。 隻讀執行個體隻能處理查詢,不能直接更新資料。不能直接連接配接到隻讀執行個體。請注意,存在包含更新和查詢資料的并行sql語句(例如,insert into <select query>)。在這種情況下,語句的<select query>部分在讀/寫和隻讀執行個體上處理,而insert部分僅在讀/寫執行個體上處理。
要将執行個體指定為隻讀,請将instance_mode參數設定為read_only。 (參數的預設值為read_write。)
隻讀執行個體的引入顯着提高了資料倉庫工作負載的并行查詢的可擴充性,并允許oracle資料庫在數百個實體節點上運作。
12oracle advanced analytics association rules enhancements(oracle進階分析關聯規則增強)
oracle advanced analytics關聯規則算法有許多增強功能,包括計算與規則相關聯的值,例如銷售額。
收集關聯規則的補充資訊可以幫助識别每個規則對業務的價值是有價值的。 此功能使oracle advanced analytics在構模組化型時執行此類計算,這比要求作為後處理步驟執行此計算更簡單和更高效。
13improving token management for binary xml(改進二進制xml的令牌管理)
此功能通過允許以比資料庫更低的粒度級别管理令牌表來提高基于用戶端的xml編碼和解碼的效率。 這使得可傳輸表空間和交換分區等操作更有效率。
通過減少在編碼和解碼操作期間需要重新加載的令牌的更改,提高了用戶端編碼和解碼二進制xml的效率。 此功能還使得可以使用可傳輸表空間執行交換分區操作,而不需要重新編碼移動的xml。
<b></b>