作為甲骨文全球大會OpenWorld 2012中的重要產品發布,新版Oracle Database 12c匯集了參會者最多的目光,Larry Ellison也在開幕演講中重點介紹了12c的一些新特性。對于Oracle DBA來說,雖然數據庫12c正式發布的日期還要等到明年年初,但依舊希望能夠提前了解它的一些新功能、新特性。在OpenWorld 2012的技術講座環節,Oracle技術大師Tom Kyte集中介紹了Oracle Database 12c的十二大新特性,而Oracle ACE總監楊廷琨也對此進行了總結,希望讓國內DBA一睹為快。
1.PL/SQL性能增強:類似在匿名塊中定義過程,現在可以通過WITH語句在SQL中定義一個函數,采用這種方式可以提高SQL調用的性能。
2.改善Defaults:包括序列作為默認值;自增列;當明確插入NULL時指定默認值;METADATA-ONLY default值指的是增加一個新列時指定的默認值,和11g中的區別在于,11g的default值要求NOT NULL列。
3.放寬多種數據類型長度限制:增加了VARCHAR2、NVARCHAR2和RAW類型的長度到32K,要求兼容性設置為12.0.0.0以上,且設置了初始化參數MAX_SQL_STRING_SIZE為EXTENDED,這個功能不支持CLUSTER表和索引組織表;最后這個功能并不是真正改變了VARCHAR2的限制,而是通過OUT OF LINE的CLOB實現。
4.TOP N的語句實現:在SELECT語句中使用“FETCH next N rows”或者“OFFSET”,可以指定前N條或前百分之多少的記錄。
5.行模式匹配:類似分析函數的功能,可以在行間進行匹配判斷并進行計算。在SQL中新的模式匹配語句是“match_recognize”。
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),在視圖中直接看到數據的利用率,找到哪些數據是最"熱"的數據?梢宰詣訉崿F數據的在線壓縮和數據分級,其中數據分級可以在線將定義時間內的數據文件轉移到歸檔存儲,也可以將數據表定時轉移至歸檔文件。也可以實現在線的數據壓縮。
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表空間。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/