11gR2 新特性之—In-Memory Parallel execution

531968912發表於2016-09-08

該特性是在oracle 11gR2 引入,其目的不言而喻。在11gR2之前,也就是在11gR1中,
如果當你發出/*+parallel(16) */ 時,可能會出現下面兩種情形:

1. The SQL can run with reduced DOP (be downgraded) -該特性我在11gR1中測試過
2. The SQL can run in serial mode (be serialized)
   * "ORA-12827: insufficient parallel query slaves available"
   (If PARALLEL_MIN_PERCENT was specified)
 
但是在11gR2中,徹底發生了改變,首先我們來看看新引入的幾個paralle相關的引數:
 
parallel_degree_policy
  該引數屬性為manual、auto、limited,11gR2中預設為manual。
  ---manual 
    Disables automatic degree of parallelism, statement queuing, and in-memory parallel execution。
  ---auto
    Enables automatic degree of parallelism, statement queuing, and in-memory parallel execution.
  ---limited 
     當設定為該屬性時,該特性將關閉,部分sql語句仍然可用使用,如表和索引的degree大於1的情況。
 
parallel_min_time_threshold
   sql語句執行的最小時間(在使用了該特性時),換句話說,也就是隻有當
 
parallel_degree_policy
   引數設定為auto或limited時,該引數預設值為auto,即是預設為10s。
 
parallel_degree_limit
   該引數屬性為CPU、IO、integer。預設值為CPU
   ---cpu  意為最大的DOP會根據系統cpu負載來進行自動調節
   ---io   意為最大的DOP會根據系統IO能力來進行自動調節
   ---integer 即可以在system或session級別指定為某個具體的數值
  該引數是動態引數,可用在session級別進行更改。
 
parallel_force_local
   顧名思義,該引數主要用於RAC環境,控制parallel server processes 是否能夠跨節點,
   其屬性為true、false,預設值為false。該引數為動態引數。
 
parallel_servers_target
   該引數的含義是可用的parallel server processes 
   該引數值=4 x CPU_COUNT x PARALLEL_THREADS_PER_CPU x ACTIVE_INSTANCES
 
parallel_max_servers
    最大的parallel程式,parallel_servers_target < parallel_max_servers.
 11gR2還引入了一個新的包DBMS_PARALLEL_EXECUTE,這裡不多說。

摘自: %E6%96%B0%E7%89%B9%E6%80%A7%E4%B9%8B%E2%80%94in-memory-parallel-execution.html

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

相關文章