Oracle 11g
Oracle 11g
Oracle 11g是甲骨文公司推出的最新資料庫軟體,Oracle 11g有400多項功能,經過了1500多個小時的測試,開發工作量達到了3.6萬人/月,相當於1000名員工連續研發3年。Oracle 11g提供了高性能、伸展性、可用性和安全性,並能更方便地在低成本伺服器和存儲設備組成的網格上運行 ,相對過往版本而言,Oracle 11g具有了與眾不同的特性。
資料庫重演(DatabaseReplay)這一特性可以捕捉整個數據的負載,並且傳遞到一個從備份或者standby資料庫中創建的測試資料庫上,然後重演負責以測試系統調優后的效果。
和前一特性類似。但只是捕捉SQL負載部分,而不是全部負載。
這一特性允許你將某一特定語句的查詢計劃固定下來,無論統計數據變化還是資料庫版本變化都不會改變她的查詢計劃。
(Automatic Diagnostic Repository ADR)
當Oracle探測到重要錯誤時,會自動創建一個事件(incident),並且捕捉到和這一事件相關的信息,同時自動進行資料庫健康檢查並通知DBA。此外,這些信息還可以打包發送給Oracle支持團隊。
(Incident Packaging Service)
如果你需要進一步測試或者保留相關信息,這一特性可以將與某一事件相關的信息打包。並且你還可以將打包信息發給oracle支持團隊。
(Feature Based Patching)
在打補丁包時,這一特性可以使你很容易區分出補丁包中的那些特性是你正在使用而必須打的。企業管理器(EM)使你能訂閱一個基於特性的補丁服務,因此企業管理器可以自動掃描那些你正在使用的特性有補丁可以打。
(Auto SQL Tuning)10g的自動優化建議器可以將優化建議寫在SQL profile中。而在11g中,你可以讓oracle自動將能3倍於原有性能的profile應用到SQL語句上。性能比較由維護窗口中一個新管理任務來完成。
(Access Advisor)
11g的訪問建議器可以給出分區建議,包括對新的間隔分區(interval partitioning)的建議。間隔分區相當於範圍分區(range partitioning)的自動化版本,她可以在必要時自動創建一個相同大小的分區。範圍分區和間隔分區可以同時存在於一張表中,並且範圍分區可以轉換為間隔分區。
(Auto Memory Tuning)
在9i中,引入了自動PGA優化;10g中,又引入了自動SGA優化。到了11g,所有內存可以通過只設定一個參數來實現全表自動優化。你只要告訴oracle有多少內存可用,她就可以自動指定多少內存分配給PGA、多少內存分配給SGA和多少內存分配給操作系統進程。當然也可以設定最大、最小閾值。
·
(Resource Manager)
11g的資源管理器不僅可以管理CPU,還可以管理IO。你可以設置特定文件的優先順序、文件類型和ASM磁碟組。
ADDM在10g被引入。11g中,ADDM不僅可以給單個實例建議,還可以對整個RAC(即資料庫級別)給出建議。另外,還可以將一些指示(directive)加入ADDM,使之忽略一些你不關心的信息。
(AWR Baselines)AWR基線得到了擴展。可以為一些其他使用到的特性自動創建基線。默認會創建周基線。
結果集緩存(Result Set Caching)
這一特性能大大提高很多程序的性能。在一些MIS系統或者OLAP系統中,需要使用到很多"select count(*)"這樣的查詢。在之前,我們如果要提高這樣的查詢的性能,可能需要使用物化視圖或者查詢重寫的技術。在11g,我們就只需要加一個 的提示就可以將結果集緩存住,這樣就能大大提高查詢性能。當然,在這種情況下,我們可能還要關心另外一個問題:完整性。因為在oracle中是通過一致性讀來保證數據的完整性的。而顯然,在這種新特性下,為提高性能,是從緩存中的結果集中讀取數據,而不會從回滾段中讀取數據的。關於這個問題,答案是完全能保證完整性。因為結果集是被獨立緩存的,在查詢期間,任何其他DML語句都不會影響結果集中的內容,因而可以保證數據的完整性。
對象依賴性改進
在11g之前,如果有函數或者視圖依賴於某張表,一旦這張表發生結構變化,無論是否涉及到函數或視圖所依賴的屬性,都會使函數或視圖變為invalid。在11g中,對這種情況進行了調整:如果表改變的屬性與相關的函數或視圖無關,則相關對象狀態不會發生變化。
正則表達式的改進
在10g中,引入了正則表達式。這一特性大大方便了開發人員。11g,oracle再次對這一特性進行了改進。其中,增加了一個名為regexp_count的函數。另外,其他的正則表達式函數也得到了改進。
新SQL語法 =>
我們在調用某一函數時,可以通過=>來為特定的函數參數指定數據。而在11g中,這一語法也同樣可以出現在sql語句中了。例如,你可以寫這樣的語句:
select f(x=>6) from dual;
對TCP包(utl_tcp、utl_smtp…)支持FGAC(Fine Grained Access Control)安全控制
增加了只讀表(read-only table)
在以前,我們是通過觸發器或者約束來實現對錶的只讀控制。11g中不需要這麼麻煩了,可以直接指定表為只讀表。
觸發器執行效率提高了
內部單元內聯(Intra-Unit inlining)
在C語言中,你可以通過內聯函數(inline)或者宏實現使某些小的、被頻繁調用的函數內聯,編譯后,調用內聯函數的部分會編譯成內聯函數的函數體,因而提高函數效率。在11g的plsql中,也同樣可以實現這樣的內聯函數了。
設置觸發器順序
可能在一張表上存在多個觸發器。在11g中,你可以指定它們的觸發順序,而不必擔心順序混亂導致數據混亂。
混合觸發器(compound trigger)
這是11g中新出現的一種觸發器。她可以讓你在同一觸發器中同時具有申明部分、before過程部分、after each row過程部分和after過程部分。
創建無效觸發器(Disabled Trigger)
11g中,開發人員可以先創建一個invalid觸發器,需要時再編譯她。
在非DML語句中使用序列(sequence)
在之前版本,如果要將sequence的值賦給變數,需要通過類似以下語句實現:
select seq_x.next_val into v_x from dual;
在11g中,不需要這麼麻煩了,下面語句就可以實現:
v_x := seq_x.next_val;
PLSQL_Warning
11g中。可以通過設置PLSQL_Warning=enable all,如果在"when others"沒有錯誤爆出就發警告信息。
PLSQL的可繼承性
可以在oracle對象類型中通過super(和java中類似)關鍵字來實現繼承性。
編譯速度提高
因為不再使用外部C編譯器了,因此編譯速度提高了。
改進了DBMS_SQL包
其中的改進之一就是DBMS_SQL可以接收大於32k的CLOB了。另外還能支持用戶自定義類型和bulk操作。
增加了continue關鍵字
在PLSQL的循環語句中可以使用continue關鍵字了(功能和其他高級語言中的continue關鍵字相同)。
新的PLSQL數據類型——simple_integer
這是一個比pls_integer效率更高的整數數據類型。
增強的壓縮技術
可以最多壓縮2/3的空間。
高速推進技術
可以大大提高對文件系統的數據讀取速度。
增強了DATA Guard
可以創建standby資料庫的快照,用於測試。結合資料庫重演技術,可以實現模擬生成系統負載的壓力測試
在線應用升級
也就是熱補丁——安裝升級或打補丁不需要重啟資料庫
·資料庫修復建議器
可以在錯誤診斷和解決方案實施過程中指導DBA。
邏輯對象分區
可以對邏輯對象進行分區,並且可以自動創建分區以方便管理超大資料庫(Very Large Databases VLDBs)
新的高性能的LOB基礎結構
新的PHP驅動
級大對象(Large Object,即LOB)存儲能力的關鍵原因是在Oracle 11g中數據安全需求越來越高,擴充對LOB和表空間的透明數據加密(Transparent Data Encryption,即TDE)特性來提高數據的安全性,這些特性是如何保護複雜的、非結構化數據的,如醫學數字圖像通訊信息(Digital Imaging for Communication of Medical Information,即DICOM)對象。
Oracle 11g新的SecureFile特性主要是集中在數據壓縮和重複數據刪除方面,主要是為了節約存儲LOB對象的空間,當然在安全特性方面Oracle 11g不僅只有這兩個。
在電子信息技術系統方面增加投入以降低醫療保健方面的成本,使用衛生信息技術降低醫療保健方面的成本,每年投入100億美元,到五年後讓美國的醫療保健系統擴展為基於標準的電子醫療信息系統,包括電子健康記錄。
Oracle系統一般運行於HP-UX,或是AIX平台。這些大型UNIX系統都不會用於桌面系統,一般用來運行Oracle、Sybase、DB2等大型資料庫系統。其系統構建、實施、運維、高可用設置,有其平台特點。可參看一本極具特色的技術專著《Oracle大型資料庫系統在AIX / UNIX上的實戰詳解》。該書以AIX 等大型UNIX平台為主線,以其他UNIX系統如HP-UX系統為參照,描述了Oracle10g、Oracle 11g資料庫系統在這些平台上的構架方法、集群化要素、綜合容災手段等。.
Oracle認證專員(Oracle Certified Associate,簡稱OCA)
考試課程:
Oracle Database 11g:SQL Fundamentals I 1Z0-051
Oracle Database 11g: Administration I 1Z0-052(EXAM)
Oracle認證專家(Oracle Certified Professional,簡稱OCP)
認證課程:
Oracle Database 11g:SQL Fundamentals(同OCA) 1Z0-051(或1Z0-047)
Oracle Database 11g:Administration Workshop I 1Z0-052
Oracle Database 11g:Administration Workshop II 1Z0-053
Oracle認證大師(Oracle Certified Master,簡稱OCM)
認證課程:
首先必須取得OCP認證才能申請OCM認證。
OCP related courses and plus
Oracle Database 11g:SQL Tuning Workshop
Oracle Database 11g:Security
Oracle Database 11g:Backup and Recoverry
Oracle Database 11g:Data Guard Administration
Oracle Database 11g:RAC for Administrators
Oracle Database 11g:Implement Streams
Oracle Database 11g Administrator Certified Master Exam