Oracle 11g新特性:
新一代的oracle又將增加很多激動(dòng)人心的新特性。下面介紹一些 Oracle11g的新特性。
1. 數(shù)據(jù)庫管理部分
· 數(shù)據(jù)庫重演(Database Replay)
這一特性可以捕捉整個(gè)數(shù)據(jù)的負(fù)載,并且傳遞到一個(gè)從備份或者standby數(shù)據(jù)庫中創(chuàng)建的測試數(shù)據(jù)庫上,然后重演負(fù)責(zé)以測試系統(tǒng)調(diào)優(yōu)后的效果。
· SQL重演(SQL Replay)
和前一特性類似。但是只是捕捉SQL負(fù)載部分,而不是全部負(fù)載。
· 計(jì)劃管理(Plan Management)
這一特性允許你將某一特定語句的查詢計(jì)劃固定下來,無論統(tǒng)計(jì)數(shù)據(jù)變化還是數(shù)據(jù)庫版本變化都不會(huì)改變她的查詢計(jì)劃。
· 自動(dòng)診斷知識(shí)庫(Automatic Diagnostic Repository ADR)
當(dāng)Oracle探測到重要錯(cuò)誤時(shí),會(huì)自動(dòng)創(chuàng)紀(jì)一個(gè)事件(incident),并且捕捉到和這一事件相關(guān)的信息,同時(shí)自動(dòng)進(jìn)行數(shù)據(jù)庫健康檢查并通知DBA。此外,這些信息還可以打包發(fā)送給Oracle支持團(tuán)隊(duì)。
· 事件打包服務(wù)(Incident Packaging Service)
如果你需要進(jìn)一步測試或者保留相關(guān)信息,這一特性可以將與某一事件相關(guān)的信息打包。并且你還可以將打包信息發(fā)給oracle支持團(tuán)隊(duì)。
· 基于特性打補(bǔ)丁(Feature Based Patching)
在打補(bǔ)丁包時(shí),這一特性可以使你很容易區(qū)分出補(bǔ)丁包中的那些特性是你正在使用而必須打的。企業(yè)管理器(EM)使你能訂閱一個(gè)基于特性的補(bǔ)丁服務(wù),因此企業(yè)管理器可以自動(dòng)掃描那些你正在使用的特性有補(bǔ)丁可以打。
· 自動(dòng)SQL優(yōu)化(Auto SQL Tuning)
10g的自動(dòng)優(yōu)化建議器可以將優(yōu)化建議寫在SQL profile中。而在11g中,你可以讓oracle自動(dòng)將能3倍于原有性能的profile應(yīng)用到SQL語句上。性能比較由維護(hù)窗口中一個(gè)新管理任務(wù)來完成。
· 訪問建議器(Access Advisor)
11g的訪問建議器可以給出分區(qū)建議,包括對(duì)新的間隔分區(qū)(interval partitioning)的建議。間隔分區(qū)相當(dāng)于范圍分區(qū)(range partitioning)的自動(dòng)化版本,她可以在必要時(shí)自動(dòng)創(chuàng)建一個(gè)相同大小的分區(qū)。范圍分區(qū)和間隔分區(qū)可以同時(shí)存在于一張表中,并且范圍分區(qū)可以轉(zhuǎn)換為間隔分區(qū)。
· 自動(dòng)內(nèi)存優(yōu)化(Auto Memory Tuning)
在9i中,引入了自動(dòng)PGA優(yōu)化;10g中,又引入了自動(dòng)SGA優(yōu)化。到了11g,所有內(nèi)存可以通過只設(shè)定一個(gè)參數(shù)來實(shí)現(xiàn)全表自動(dòng)優(yōu)化。你只要告訴oracle有多少內(nèi)存可用,她就可以自動(dòng)指定多少內(nèi)存分配給PGA、多少內(nèi)存分配給SGA和多少內(nèi)存分配給操作系統(tǒng)進(jìn)程。當(dāng)然也可以設(shè)定最大、最小閾值。
· 資源管理器(Resource Manager)
11g的資源管理器不僅可以管理CPU,還可以管理IO。你可以設(shè)置特定文件的優(yōu)先級(jí)、文件類型和ASM磁盤組。
· ADDM
ADDM在10g被引入。11g中,ADDM不僅可以給單個(gè)實(shí)例建議,還可以對(duì)整個(gè)RAC(即數(shù)據(jù)庫級(jí)別)給出建議。另外,還可以將一些指示(directive)加入ADDM,使之忽略一些你不關(guān)心的信息。
· AWR 基線(AWR Baselines)
AWR基線得到了擴(kuò)展??梢詾橐恍┢渌褂玫降奶匦宰詣?dòng)創(chuàng)建基線。默認(rèn)會(huì)創(chuàng)建周基線。
2. PLSQL部分
· 結(jié)果集緩存(Result Set Caching)
這一特性能大大提高很多程序的性能。在一些MIS系統(tǒng)或者OLAP系統(tǒng)中,需要使用到很多"select count(*)"這樣的查詢。在之前,我們?nèi)绻岣哌@樣的查詢的性能,可能需要使用物化視圖或者查詢重寫的技術(shù)。在11g,我們就只需要加一個(gè)/*+result_cache*/的提示就可以將結(jié)果集緩存住,這樣就能大大提高查詢性能。當(dāng)然,在這種情況下,我們可能還要關(guān)心另外一個(gè)問題:完整性。因?yàn)樵趏racle中是通過一致性讀來保證數(shù)據(jù)的完整性的。而顯然,在這種新特性下,為提高性能,是從緩存中的結(jié)果集中讀取數(shù)據(jù),而不會(huì)從回滾段中讀取數(shù)據(jù)的。關(guān)于這個(gè)問題,答案是完全能保證完整性。因?yàn)榻Y(jié)果集是被獨(dú)立緩存的,在查詢期間,任何其他DML語句都不會(huì)影響結(jié)果集中的內(nèi)容,因而可以保證數(shù)據(jù)的完整性。
· 對(duì)象依賴性改進(jìn)
在11g之前,如果有函數(shù)或者視圖依賴于某張表,一旦這張表發(fā)生結(jié)構(gòu)變化,無論是否涉及到函數(shù)或視圖所依賴的屬性,都會(huì)使函數(shù)或視圖變?yōu)閕nvalid。在11g中,對(duì)這種情況進(jìn)行了調(diào)整:如果表改變的屬性與相關(guān)的函數(shù)或視圖無關(guān),則相關(guān)對(duì)象狀態(tài)不會(huì)發(fā)生變化。
· 正則表達(dá)式的改進(jìn)
在10g中,引入了正則表達(dá)式。這一特性大大方便了開發(fā)人員。11g,oracle再次對(duì)這一特性進(jìn)行了改進(jìn)。其中,增加了一個(gè)名為regexp_count的函數(shù)。另外,其他的正則表達(dá)式函數(shù)也得到了改進(jìn)。
· 新SQL語法 =>
我們?cè)谡{(diào)用某一函數(shù)時(shí),可以通過=>來為特定的函數(shù)參數(shù)指定數(shù)據(jù)。而在11g中,這一語法也同樣可以出現(xiàn)在sql語句中了。例如,你可以寫這樣的語句:
select f(x=>6) from dual;
· 對(duì)TCP包(utl_tcp、utl_smtp…)支持FGAC(Fine Grained Access Control)安全控制
· 增加了只讀表(read-only table)
在以前,我們是通過觸發(fā)器或者約束來實(shí)現(xiàn)對(duì)表的只讀控制。11g中不需要這么麻煩了,可以直接指定表為只讀表。
· 觸發(fā)器執(zhí)行效率提高了
· 內(nèi)部單元內(nèi)聯(lián)(Intra-Unit inlining)
在C語言中,你可以通過內(nèi)聯(lián)函數(shù)(inline)或者宏實(shí)現(xiàn)使某些小的、被頻繁調(diào)用的函數(shù)內(nèi)聯(lián),編譯后,調(diào)用內(nèi)聯(lián)函數(shù)的部分會(huì)編譯成內(nèi)聯(lián)函數(shù)的函數(shù)體,因而提高函數(shù)效率。在11g的plsql中,也同樣可以實(shí)現(xiàn)這樣的內(nèi)聯(lián)函數(shù)了。
· 設(shè)置觸發(fā)器順序
可能在一張表上存在多個(gè)觸發(fā)器。在11g中,你可以指定它們的觸發(fā)順序,而不必?fù)?dān)心順序混亂導(dǎo)致數(shù)據(jù)混亂。
· 混合觸發(fā)器(compound trigger)
這是11g中新出現(xiàn)的一種觸發(fā)器。她可以讓你在同一觸發(fā)器中同時(shí)具有申明部分、before過程部分、after each row過程部分和after過程部分。
· 創(chuàng)建無效觸發(fā)器(Disabled Trigger)
11g中,開發(fā)人員可以可以閑創(chuàng)建一個(gè)invalid觸發(fā)器,需要時(shí)再編譯她。
· 在非DML語句中使用序列(sequence)
在之前版本,如果要將sequence的值賦給變量,需要通過類似以下語句實(shí)現(xiàn):
select seq_x.next_val into v_x from dual;
在11g中,不需要這么麻煩了,下面語句就可以實(shí)現(xiàn):
v_x := seq_x.next_val;
· PLSQL_Warning
11g中??梢酝ㄟ^設(shè)置PLSQL_Warning=enable all,如果在"when others"沒有錯(cuò)誤爆出就發(fā)警告信息。
· PLSQL的可繼承性
可以在oracle對(duì)象類型中通過super(和java中類似)關(guān)鍵字來實(shí)現(xiàn)繼承性。
· 編譯速度提高
因?yàn)椴辉谑褂猛獠緾編譯器了,因此編譯速度提高了。
· 改進(jìn)了DBMS_SQL包
其中的改進(jìn)之一就是DBMS_SQL可以接收大于32k的CLOB了。另外還能支持用戶自定義類型和bulk操作。
· 增加了continue關(guān)鍵字
在PLSQL的循環(huán)語句中可以使用continue關(guān)鍵字了(功能和其他高級(jí)語言中的continue關(guān)鍵字相同)。
· 新的PLSQL數(shù)據(jù)類型——simple_integer
這是一個(gè)比pls_integer效率更高的整數(shù)數(shù)據(jù)類型。
3. 其他部分
· 增強(qiáng)的壓縮技術(shù)
可以最多壓縮2/3的空間。
· 高速推進(jìn)技術(shù)
可以大大提高對(duì)文件系統(tǒng)的數(shù)據(jù)讀取速度。
· 增強(qiáng)了DATA Guard
可以創(chuàng)建standby數(shù)據(jù)庫的快照,用于測試。結(jié)合數(shù)據(jù)庫重演技術(shù),可以實(shí)現(xiàn)模擬生成系統(tǒng)負(fù)載的壓力測試
· 在線應(yīng)用升級(jí)
也就是熱補(bǔ)丁——安裝升級(jí)或打補(bǔ)丁不需要重啟數(shù)據(jù)庫
· 數(shù)據(jù)庫修復(fù)建議器
可以在錯(cuò)誤診斷和解決方案實(shí)施過程中指導(dǎo)DBA。
· 邏輯對(duì)象分區(qū)
可以對(duì)邏輯對(duì)象進(jìn)行分區(qū),并且可以自動(dòng)創(chuàng)建分區(qū)以方便管理超大數(shù)據(jù)庫(Very Large Databases VLDBs)
· 新的高性能的LOB基礎(chǔ)結(jié)構(gòu)
· 新的PHP驅(qū)動(dòng)
Oracle 11g安裝教程:
由于安裝篇幅較長,小編就不在本頁放了,參考:oracle 11g安裝圖解