Oracle 11g 新特性

zhulch發表於2008-06-30

不知道原文在哪地方了,自己收藏一下,學習方便

[@more@]

Oracle 11g現在已經開始進行beta測試,預計在2007年底要正式推出。和她以前其他產品一樣,新一代的oracle又將增加很多激動人心的新特性。下面介紹一些11g的新特性。

1. 資料庫管理部分

· 資料庫重演(Database Replay)

這一特性可以捕捉整個資料的負載,並且傳遞到一個從備份或者standby資料庫中建立的測試資料庫上,然後重演負責以測試系統調優後的效果。

· SQL重演(SQL Replay)

和前一特性類似。但是隻是捕捉SQL負載部分,而不是全部負載。

· 計劃管理(Plan Management

這一特性允許你將某一特定語句的查詢計劃固定下來,無論統計資料變化還是資料庫版本變化都不會改變她的查詢計劃。

· 自動診斷知識庫(Automatic Diagnostic Repository ADR

Oracle探測到重要錯誤時,會自動創紀一個事件(incident),並且捕捉到和這一事件相關的資訊,同時自動進行資料庫健康檢查並通知DBA。此外,這些資訊還可以打包傳送給Oracle支援團隊。

· 事件打包服務(Incident Packaging Service)

如果你需要進一步測試或者保留相關資訊,這一特性可以將與某一事件相關的資訊打包。並且你還可以將打包資訊發給oracle支援團隊。

· 基於特性打補丁(Feature Based Patching

在打補丁包時,這一特性可以使你很容易區分出補丁包中的那些特性是你正在使用而必須打的。企業管理器(EM)使你能訂閱一個基於特性的補丁服務,因此企業管理器可以自動掃描那些你正在使用的特性有補丁可以打。

· 自動SQL最佳化(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

ADDM在10g被引入。11g中,ADDM不僅可以給單個例項建議,還可以對整個RAC(即資料庫級別)給出建議。另外,還可以將一些指示(directive)加入ADDM,使之忽略一些你不關心的資訊。

· AWR 基線(AWR Baselines

AWR基線得到了擴充套件。可以為一些其他使用到的特性自動建立基線。預設會建立周基線。

2. PLSQL部分

· 結果集快取(Result Set Caching

這一特效能大大提高很多程式的效能。在一些MIS系統或者OLAP系統中,需要使用到很多"select count(*)"這樣的查詢。在之前,我們如果要提高這樣的查詢的效能,可能需要使用物化檢視或者查詢重寫的技術。在11g,我們就只需要加一個/*+result_cache*/的提示就可以將結果集快取住,這樣就能大大提高查詢效能。當然,在這種情況下,我們可能還要關心另外一個問題:完整性。因為在oracle中是透過一致性讀來保證資料的完整性的。而顯然,在這種新特性下,為提高效能,是從快取中的結果集中讀取資料,而不會從回滾段中讀取資料的。關於這個問題,答案是完全能保證完整性。因為結果集是被獨立快取的,在查詢期間,任何其他DML語句都不會影響結果集中的內容,因而可以保證資料的完整性。

· 物件依賴性改進

在11g之前,如果有函式或者檢視依賴於某張表,一旦這張表發生結構變化,無論是否涉及到函式或檢視所依賴的屬性,都會使函式或檢視變為invalid。在11g中,對這種情況進行了調整:如果表改變的屬性與相關的函式或檢視無關,則相關物件狀態不會發生變化。

· 正規表示式的改進

在10g中,引入了正規表示式。這一特性大大方便了開發人員。11g,oracle再次對這一特性進行了改進。其中,增加了一個名為regexp_count的函式。另外,其他的正規表示式函式也得到了改進。

· SQL語法 =>

我們在呼叫某一函式時,可以透過=>來為特定的函式引數指定資料。而在11g中,這一語法也同樣可以出現在sql語句中了。例如,你可以寫這樣的語句:

select f(x=>6) from dual;

· TCP包(utl_tcputl_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可以接收大於32kCLOB了。另外還能支援使用者自定義型別和bulk操作。

· 增加了continue關鍵字

PLSQL的迴圈語句中可以使用continue關鍵字了(功能和其他高階語言中的continue關鍵字相同)。

· 新的PLSQL資料型別——simple_integer

這是一個比pls_integer效率更高的整數資料型別。

3. 其他部分

· 增強的壓縮技術

可以最多壓縮2/3的空間。

· 高速推進技術

可以大大提高對檔案系統的資料讀取速度。

· 增強了DATA Guard

可以建立standby資料庫的快照,用於測試。結合資料庫重演技術,可以實現模擬生成系統負載的壓力測試

· 線上應用升級

也就是熱補丁——安裝升級或打補丁不需要重啟資料庫

· 資料庫修復建議器

可以在錯誤診斷和解決方案實施過程中指導DBA

· 邏輯物件分割槽

可以對邏輯物件進行分割槽,並且可以自動建立分割槽以方便管理超大資料庫(Very Large Databases VLDBs

· 新的高效能的LOB基礎結構

· 新的PHP驅動

Oracle 11g new Features

At Oracle Openworld 2006, Oracle announced some exciting new features of Oracle 11g, and they promise 482 new Oracle11g features. Here is my list which I continually update as new Oracle11g new feature information is released:

We are also seeing upcoming books on . Let's get started with the Oracle11g new features for general database administration:


Oracle 11g DBA new features

  • Interval partitioning for tables - This is a new 11g partitioning scheme that automatically creates time-based partitions as new data is added. Source: This is a marvelous one ! You can now partition by date, one partition per month for example, with automatic partition creation. Source: Laurent Schneider
  • New load balancing utilities -There are several new load balancing utilities in 11g (first introduced in 10gr2):
  • - The web cache component includes Apache extension to load-balance transactions to the least-highly-loaded Oracle HTTP server (OHS).
  • - Staring in Oracle 10g release 2, Oracle JDBC and ODP.NET provide connection pool load balancing facilities through integration with the new “load balancing advisory” tool. This replaces the more-cumbersome listener-based load balancing technique.
  • - Oracle’s Automatic Storage Management (SAM) now enables a single storage pool to be shared by multiple databases for optimal load balancing. Shared disk storage resources can alternatively be assigned to individual databases and easily moved from one database to another as processing requirements change.
  • – Oracle Data Guard allows for load balancing between standby databases.
  • - If advanced features such as load balancing and automatic failover are desired, there are optional sections of the listener.ora file that must be present
  • New table Data Type "simple_integer" - A new 11g datatype dubbed simple_integer is introduced. The simple_integer data type is always NOT NULL, wraps instead of overflows and is faster than PLS_INTEGER. Source: Lewis Cunningham
  • Improved table/index compression - Segment compression now works for all DML, not just direct-path loads, so you can create tables compressed and use them for regular OLTP work. Also supports column add/drop.
  • Faster DML triggers - DML triggers are up to 25% faster. This especially impacts row level triggers doing updates against other tables (think Audit trigger). Source: Lewis Cunningham
  • Improved NFS data file management - Kevin Closson has some great notes on (NAS). "I’ve already blogged that 11g “might” have an Oracle-provided NFS client. Why is this? It’s because Oracle knows full well that taking dozens of commodity servers and saddling them up with multi-protocol connectivity is a mess.
  • Server-side connection pooling - In 11g server-side connection pooling, an additional layer to the shared server, to enable faster [actually to bypass] session creation. Source: Laurent Schneider Server-side connection pooling allows multiple Oracle clients to share a server-side pool of sessions (USERIDs must match). Clients can connect and disconnect (think PHP applications) at will without the cost of creating a new server session - shared server removes the process creation cost but not the session creation cost.
  • RMAN UNDO bypass - Rman backup can bypass undo. Undo tablespaces are getting huge, but contain lots of useless information. Now rman can bypass those types of tablespace. Great for exporting a tablespace from backup. Source: Laurent Schneider
  • Capture/replay database workloads - Sounds appealing. You can capture the workload in prod and apply it in development. Source: Laurent Schneider
  • Scalability Enhancements - The features in 11g focused on scalability and performance can be grouped into four areas: Scalable execution, scalable storage, scalable availability and scalable management.
  • Scalable execution - Scalable execution consists of a number of features, the first of which is query results caching; this feature automatically caches the results of an SQL query as opposed to the data blocks normally cached by the buffer cache, and works both client (OCI) and server side - this was described as "buffer cache taken to the next level". The DBA sets the size of the results cache and turns the feature on at a table level with the command "alter table DEPT cache results", the per-process cache is shared across multiple session and at the client level, is available with all 11g OCI-based clients.
  • Virtual columns - Oracle 11g virtual table columns are columns that are actually functions ("create table t1 (c1 number, c2 number, c3 as (c1+c2) virtual"), and similarly, virtual indexes that are based on functions REF partitioning, allowing you to partition a table based on the partition scheme of another. Allows you to partition an order_items table based off of the order_date column in an orders table. Source: Source:
  • A "super" object-oriented DDL keyword - This is used with OO Oracle when instantiating a derivative type (overloading), to refer to the superclass from whence the class was derived.
  • Oracle 11g XML data storage - Starting in 11g, you can store XML either as a CLOB or a binary data type, adding flexibility. Oracle11g will support query mechanisms for XML including XQuery and SQL XML, emerging standards for querying XML data stored inside tables.
  • Data Guard supports "Flashback Standby".
  • New Trigger features - A new type of "compound" trigger will have sections for BEFORE, ROW and AFTER processing, very helpful for avoiding errors, and maintaining states between each section.
  • Partitioning - partitioning by logical object and automated partition creation.
  • LOB's - New high-performance LOB features.
  • Automatic Diagnostic Repository (ADR) - When critical errors are detected, they automatically create an “incident”. Information relating to the incident is automatically captured, the DBA is notified and certain health checks are run automatically. This information can be packaged to be sent to Oracle support (see following). Source: Dr. Tim Hall
  • Incident Packaging Service (IPS) - This wraps up all information about an incident, requests further tests and information if necessary, and allows you to send the whole package to Oracle Support. Source: Dr. Tim Hall
  • Feature Based Patching - All one-off patches will be classified as to which feature they affect. This allows you to easily identify which patches are necessary for the features you are using. EM will allow you to subscribe to a feature based patching service, so EM automatically scans for available patches for the features you are using. Source: Dr. Tim Hall
  • New Oracle11g Advisors - New 11g Oracle Streams Performance Advisor and Partitioning Advisor. Source:
  • Enhanced Read only tables -
  • Table trigger firing order - Oracle 11g PL/SQL will you to specify trigger firing order.

Oracle11g High Availability & RAC new features

Oracle continues to enhanced Real Application Clusters in Oracle11g and we see some exciting new features in RAC manageability and enhanced performance:

  • Oracle 11g RAC parallel upgrades - Oracle 11g promises to have a rolling upgrade features whereby RAC database can be upgraded without any downtime. Ellison first promised this feature in 2002, and it is a very challenging and complex 11g new feature.
  • Oracle RAC load balancing advisor - Starting in 10gr2 we see a utility.
  • ADDM for RAC -
  • Optimized RAC cache fusion protocols - moves on from the general cache fusion protocols in 10g to deal with specific scenarios where the protocols could be further optimized. Source:
  • Oracle 11g RAC Grid provisioning - Oracle 11g OEM has have easy server blade installs where a binary footprint is tar'ed to the server blade and configured, without a cumbersome install process.
  • Hot patching - Zero downtime patch application.
  • Standby snapshot - For the purpose of regression testing.
  • Quick Fault Resolution - Automatic capture of diagnostics (dumps) for a fault.

OEM - Enterprise Manager Oracle 11g new features:

  • Interfaces to Applications - says "Oracle says that extending Enterprise Manager's capabilities are part of the firm's promise to seamlessly integrate the spoils of its many acquisitions -- including the purchases of Siebel Systems and PeopleSoft Corp. -- into a single platform."
  • OEM Easy de-install - This will uninstall both successful and unsuccessful Oracle installs.
  • Database repair wizard - A GUI to guide beginners through the steps to diagnose and repair Oracle issues.
  • Better OEM Grid tools - Another new Oracle11g feature may be improved RAC and Grid monitoring, especially on the cache fusion interconnect.
  • Enterprise Manager interfaces to foreign applications - says "Oracle says that extending Enterprise Manager's capabilities are part of the firm's promise to seamlessly integrate the spoils of its many acquisitions -- including the purchases of Siebel Systems and PeopleSoft Corp. -- into a single platform."

Oracle 11g programming language support New Features

  • PHP - Improved PHP driver for Oracle.
  • Compilers - Improved native Java & PL/SQL compilers.
  • Oracle 11g XML Enhancements - Oracle 11g will also support Content Repository API for Java Technology (JSR 170). Oracle 11g has XML "duality", meaning that you can also embed XML directives inside PL/SQL and embed PL/SQL inside XML code. Oracle 11g XML will also support schema-based document Type Definitions (DTD's), to describe internal structure of the XML document.
  • Scalable Java - The next scalable execution feature is automatic creation of "native" Java code, with just one parameter for each type with an "on/off" value. This apparently provides a 100% performance boost for pure Java code, and a 10%-30% boost for code containing SQL.
  • Improved sequence management - A new features of Oracle 11g will bypass DML (sequence.nextval) and allow normal assignments on sequence values.
  • Intra-unit inlining. In C, you can write a macro that gets inlined when called. Now any stored procedure is eligible for inlining if Oracle thinks it will improve performance. No change to your code is required. Now you have no reason for not making everything a subroutine! Source: Lewis Cunningham

Oracle 11g PL/SQL New Features

  • PL/SQL "continue" keyword - This will allow a C-Like continue in a loop, to bypass any "else" Boolean conditions. A nasty PL/SQL GOTO is no longer required to exit a Boolean within a loop.
  • Disabled state for PL/SQL - Another 11g new feature is a "disabled" state for PL/SQL (as opposed to "enabled" and "invalid" in dba_objects).
  • Easy PL/SQL compiling - Native Compilation no longer requires a C compiler to compile your PL/SQL. Your code goes directly to a shared library. Source: Lewis Cunningham
  • Improved PL/SQL stored procedure invalidation mechanism - A new 11g features will be fine grained dependency tracking, reducing the number of objects which become invalid as a result of DDL.
  • Scalable PL/SQL - The next scalable execution feature is automatic creation of "native" PL/SQL (and Java code), with just one parameter for each type with an "on/off" value. This apparently provides a 100% performance boost for pure PL/SQL code, and a 10%-30% performance boost for code containing SQL.
  • Enhanced PL/SQL warnings - The 11g PL/SQL compiler will issue a warning for a "when others" with no raise.
  • Stored Procedure named notation - Named notation is now supported when calling a stored procedure from SQL.


Oracle 11g SQL New Features

  • The /*+result_cache*/ SQL hint - This suggests that the result data will be cached in the data buffers, and not the intermediate data blocks that were accessed to obtain the query results. You can cache both SQL and PL/SQL results for super-fast subsequent retrieval.
  • XML SQL queries - Oracle11g will support query mechanisms for XML including XQuery and SQL XML, emerging standards for querying XML data stored inside tables.
  • SQL Replay - Similar to the previous feature, but this only captures and applies the SQL workload, not total workload. Source: Dr. Tim Hall
  • Improved optimizer statistics collection speed - Oracle 11g has improved the dbms_stats performance, allowing for an order of magnitude faster CBO statistics creation
  • SQL execution Plan Management - Oracle 11g SQL will allow you to fix execution plans (explain plan) for specific statements, regardless of statistics or database version changes. Source: Dr. Tim Hall
  • Dynamic SQL. DBMS_SQL is here to stay. It's faster and is being enhanced. DBMS_SQL and NDS can now accept CLOBs (no more 32k limit on NDS). A ref cursor can become a DBMS_SQL cursor and vice versa. DBMS_SQL now supprts user defined types and bulk operations. Source: Lewis Cunningham
  • Fully Automatic SQL Tuning - The 10g automatic tuning advisor makes tuning suggestions in the form of SQL profiles that will improve performance. You can tell 11g to automatically apply SQL profiles for statements where the suggested profile give 3-times better performance that the existing statement. The performance comparisons are done by a new administrative task during a user-specified maintenance window.
  • Improved SQL Access Advisor - The 11g SQL Access Advisor gives partitioning advice, including advice on the new interval partitioning. Interval partitioning is an automated version of range partitioning, where new equally-sized partitions are automatically created when needed. Both range and interval partitions can exist for a single table, and range partitioned tables can be converted to interval partitioned tables.

11g

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7318139/viewspace-1006312/,如需轉載,請註明出處,否則將追究法律責任。

相關文章