【TechTarget中國原創】 作為甲骨文全球大會OpenWorld 2012中的重要産品釋出,新版Oracle Database 12c彙集了參會者最多的目光,Larry Ellison也在開幕演講中重點介紹了12c的一些新特性。對于Oracle DBA來說,雖然資料庫12c正式釋出的日期還要等到明年年初,但依舊希望能夠提前了解它的一些新功能、新特性。在OpenWorld 2012的技術講座環節,Oracle技術大師Tom Kyte集中介紹了Oracle Database 12c的十二大新特性,而Oracle ACE總監楊廷琨也對此進行了總結,希望讓國内DBA一睹為快。
Oracle資料庫技術大牛Tom Kyte講解Oracle Database 12c的新特性 Oracle資料庫技術大牛Tom Kyte講解Oracle Database 12c的新特性
PL/SQL性能增強:類似在匿名塊中定義過程,現在可以通過WITH語句在SQL中定義一個函數,采用這種方式可以提高SQL調用的性能。 Oracle Database 12c的十二大新特性之一
2.改善Defaults:包括序列作為預設值;自增列;當明确插入NULL時指定預設值;METADATA-ONLY default值指的是增加一個新列時指定的預設值,和11g中的差別在于,11g的default值要求NOT NULL列。 Oracle Database 12c的十二大新特性之二
3.放寬多種資料類型長度限制:增加了VARCHAR2、NVARCHAR2和RAW類型的長度到32K,要求相容性設定為12.0.0.0以上,且設定了初始化參數MAX_SQL_STRING_SIZE為EXTENDED,這個功能不支援CLUSTER表和索引組織表;最後這個功能并不是真正改變了VARCHAR2的限制,而是通過OUT OF LINE的CLOB實作。 Oracle Database 12c的十二大新特性之三
4.TOP N的語句實作:在SELECT語句中使用“FETCH next N rows”或者“OFFSET”,可以指定前N條或前百分之多少的記錄。 Oracle Database 12c的十二大新特性之四
5.行模式比對:類似分析函數的功能,可以在行間進行比對判斷并進行計算。在SQL中新的模式比對語句是“match_recognize”。 Oracle Database 12c的十二大新特性之五
6.分區改進:Oracle Database 12c中對分區功能做了較多的調整,Oracle ACE總監楊廷琨花了較大的篇幅對分區提升進行了解讀,其中共分成6個部分:
INTERVAL-REFERENCE分區:把11g的interval分區和reference分區結合,這樣主表自動增加一個分區後,所有的子表、孫子表、重孫子表、重重重...孫子表都可以自動随着外接列新資料增加,自動建立新的分區。
TRUNCATE和EXCHANGE分區及子分區。無論是TRUNCATE還是EXCHANGE分區,在主表上執行,都可以級聯的作用在子表、孫子表、重孫子表、重重重...孫子表上同時運作。對于TRUNCATE而言,所有表的TRUNCATE操作在同一個事務中,如果中途失敗,會復原到指令執行之前的狀頭。這兩個功能通過關鍵字CASCADE實作。
線上移動分區:通過MOVE ONLINE關鍵字實作線上分區移動。在移動的過程中,對表和被移動的分區可以執行查詢、DML語句以及分區的建立和維護操作。整個移動過程對應用透明。這個功能極大的提高了整體可用性,縮短了分區維護視窗。
多個分區同時操作:可以對多個分區同時進行維護操作,比如将一年的12個分區MERGE到1個新的分區中,比如将一個分區SPLIT成多個分區。可以通過FOR語句指定操作的每個分區,對于RANGE分區而言,也可以通過TO來指定處理分區的範圍。多個分區同時操作自動并行完成。
異步全局索引維護:對于非常大的分區表而言,UPDATE GLOBAL INDEX不再是痛苦。Oracle可以實作了異步全局索引異步維護的功能,即使是幾億條記錄的全局索引,在分區維護操作,比如DROP或TRUNCATE後,仍然是VALID狀态,索引不會失效,不過索引的狀态是包含OBSOLETE資料,當維護操作完成,索引狀态恢複。
部分本地和全局索引:Oracle的索引可以在分區級别定義。無論全局索引還是本地索引都可以在分區表的部分分區上建立,其他分區上則沒有索引。當通過索引列通路全表資料時,Oracle通過UNION ALL實作,一部分通過索引掃描,另一部分通過全分區掃描。這可以減少對曆史資料的索引量,極大的增加了靈活性。
7.Adaptive執行計劃:擁有學習功能的執行計劃,Oracle會把實際運作過程中讀取到傳回結果作為進一步執行計劃判斷的輸入,是以統計資訊不準确或查詢真正結果與計算結果不準時,可以得到更好的執行計劃。
8.統計資訊增強:動态統計資訊收集增加第11層,使得動态統計資訊收集的功能更強;增加了混合統計資訊用以支援包含大量不同值,且個别值資料傾斜的情況;添加了資料加載過程收集統計資訊的能力;對于臨時表增加了會話私有統計資訊。
9.臨時UNDO:将臨時段的UNDO獨立出來,放到TEMP表空間中,優點包括:減少UNDO産生的數量;減少REDO産生的數量;在ACTIVE DATA GUARD上允許對臨時表進行DML操作。
10.資料優化:新增了ILM(資料生命周期管理)功能,添加了“資料庫熱圖”(Database heat map),在視圖中直接看到資料的使用率,找到哪些資料是最"熱"的資料。可以自動實作資料的線上壓縮和資料分級,其中資料分級可以線上将定義時間内的資料檔案轉移到歸檔存儲,也可以将資料表定時轉移至歸檔檔案。也可以實作線上的資料壓縮。
11.應用連續性:Oracle Database 12c之前RAC的FAILOVER隻做到SESSION和SELECT級别,對于DML操作無能為力,當設定為SESSION,進行到一半的DML自動復原;而對于SELECT,雖然FAILOVER可以不中斷查詢,但是對于DML的問題更甚之,必要要手工復原。而Oracle Database 12c中Oracle終于支援事務的FAILOVER。
12.Oracle Pluggable Database:Oracle PDB體系結構由一個容器資料庫(CDB)和多個可組裝式資料庫(PDB)構成,PDB包含獨立的系統表空間和SYSAUX表空間等,但是所有PDB共享CDB的控制檔案、日志檔案和UNDO表空間。 Oracle Database 12c的十二大新特性之十三 Oracle Database 12c中增加了諸多的新特性,而上面介紹的隻是其中的一些重點值得關注的12點。關于Oracle Database 12c的内容,敬請關注TechTarget資料庫網站的更新報道,同時也可以關注作者楊廷琨的微網誌獲得更多的技術細節。
TechTarget中國:http://www.techtarget.com.cn
本文轉自xiaocao1314051CTO部落格,原文連結:http://blog.51cto.com/xiaocao13140/1930277 ,如需轉載請自行聯系原作者