精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網站建設資訊

NEWS

網站建設資訊

Orcle怎么增強并行語句隊列

這篇文章主要介紹“Orcle怎么增強并行語句隊列”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“Orcle怎么增強并行語句隊列”文章能幫助大家解決問題。

創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為臺山等服務建站,臺山等地企業(yè),進行企業(yè)商務咨詢服務。為臺山企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。

1 說明

Enhancing parallel statement queuing provides more flexibility to address business requirements for mission-critical environments.

增強并行語句隊列提供了更多的靈活性,以滿足任務關鍵環(huán)境的業(yè)務需求。

When the parameter PARALLEL_DEGREE_POLICY is set to AUTO, Oracle Database queues SQL statements that require parallel execution if the necessary number of parallel execution server processes are not available. After the necessary resources become available, the SQL statement is dequeued and allowed to execute. The default dequeue order is a simple first in, first out queue based on the time a statement was issued.

  • 1.解析SQL并自動決定DOP(degree of parallelism)

  • 2.檢查是否有足夠的并行資源(PARALLEL_SERVERS_TARGET當前環(huán)境默認值16)–不能超過PARALLEL_MAX_SERVERS大小

  • a.如果有(可用并行資源大于當前SQL所需的),并且前面沒有正在執(zhí)行的SQL,那么就會執(zhí)行該SQL

  • b.如果沒有(可用并行資源小于當前SQL所需的),則會排隊等待有足夠的資源來執(zhí)行該SQL。

如果發(fā)生語句排隊等待現(xiàn)象,那么會以等待事件:resmgr:pq queued表現(xiàn)出來。

2 使用hint管理Parallel Statement Queuing

在PARALLEL_DEGREE_POLICY 為AUTO情況下,使用NO_STATEMENT_QUEUING 和STATEMENT_QUEUING來影響語句是否使用Parallel Statement Queuing隊列。

2.1 NO_STATEMENT_QUEUING

使用NO_STATEMENT_QUEUING會使語句繞過parallel statement queue。但是這可能會超過PARALLEL_SERVERS_TARGET指定的最大并行執(zhí)行數(shù)。

如:

SELECT /*+ NO_STATEMENT_QUEUING */ last_name, department_name
  FROM employees e, departments d
  WHERE e.department_id = d.department_id;

2.2 STATEMENT_QUEUING

STATEMENT_QUEUING HINT讓SQL語句使用parallel statement queue,但是只有在可以在并行進程足夠的時才運行。在啟用隊列之前,可用的并行執(zhí)行服務器的數(shù)量等于在使用的并行執(zhí)行服務器數(shù)量和系統(tǒng)中允許的最大數(shù)量之間的差,是有PARALLEL_SERVERS_TARGET參數(shù)定義的。

如:

SELECT /*+ STATEMENT_QUEUING */ last_name, department_name
  FROM employees e, departments d
  WHERE e.department_id = d.department_id;

3 PARALLEL_SERVERS_TARGET設置

PARALLEL_SERVERS_TARGET參數(shù)默認值不是固定不變的,而是有公式計算而來的。

公式:PARALLEL_THREADS_PER_CPU * CPU_COUNT * concurrent_parallel_users * 2

如:當前我的環(huán)境

PARALLEL_THREADS_PER_CPU = 2

SQL> show parameter PARALLEL_THREADS_PER_CPU
NAME       TYPE VALUE
------------------------------------ ----------------------
parallel_threads_per_cpu       integer  2


CPU_COUNT = 1

SQL> show parameter CPU_COUNT
NAME       TYPE VALUE
------------------------------------ ----------------------
cpu_count      integer  1

concurrent_parallel_users參數(shù)值分為三種情況:

  • 1.如果設置了MEMORY_TARGET或SGA_TARGET,那么concurrent_parallel_users=4

  • 2.如果沒有設置MEMORY_TARGET或SGA_TARGET,并且也設置了PGA_AGGREGATE_TARGE的大小,那么concurrent_parallel_users=2

  • 3.如果沒有設置PGA_AGGREGATE_TARGE的大小,那么concurrent_parallel_users=1

當前環(huán)境:屬于第一種情況,設置了MEMORY_TARGET,因為沒有設置PGA_AGGREGATE_TARGET。所以不滿足第二章情況

SQL> show parameter MEMORY_TARGET
NAME       TYPE     VALUE
------------------------------------ ---------------------- ------------------------------
memory_target      big integer      1G

SQL> show parameter SGA_TARGET
NAME       TYPE     VALUE
------------------------------------ ---------------------- ------------------------------
sga_target       big integer      0

SQL> show parameter PGA_AGGREGATE_TARGET
NAME       TYPE     VALUE
------------------------------------ ---------------------- ------------------------------
pga_aggregate_target       big integer      0

SQL> show parameter PARALLEL_SERVERS_TARGET
NAME       TYPE     VALUE
------------------------------------ ---------------------- ------------------------------
parallel_servers_target      integer      16

所以,PARALLEL_SERVERS_TARGET= 2 * 1 *4 * 2 = 16,和查詢出來的結果一致。

3.1 修改參數(shù)值

只能在CDB中的system級別修改,大小0到PARALLEL_MAX_SERVERS之間,重啟生效

SQL> alter system set parallel_servers_target = 17 scope = spfile;
System altered.

SQL> startup force
ORACLE instance started.

Total System Global Area 1073741824 bytes
Fixed Size      8801008 bytes
Variable Size  1023411472 bytes
Database Buffers     37748736 bytes
Redo Buffers      3780608 bytes
Database mounted.
Database opened.

SQL> show parameter PARALLEL_SERVERS_TARGET
NAME       TYPE     VALUE
------------------------------------ ---------------------- ------------------------------
parallel_servers_target      integer      17

關于“Orcle怎么增強并行語句隊列”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點。


網頁題目:Orcle怎么增強并行語句隊列
本文鏈接:http://m.jcarcd.cn/article/iggioj.html
主站蜘蛛池模板: 欧美亚洲日韩视频 | 欧洲乱码伦视频免费 | 国内自产 | 国产手机在线精品 | 国内精品人| 尤物邪恶| 精品欧美一区 | 日韩在线欧美 | 國產精品我不卡 | 91夫妻在线 | 国产欧美日韩专区 | 国产精品日韩精 | 中文字幕一冢本 | 蜜桃视频91 | 午夜国产精品国产 | 不卡国产一区 | 国产美女脱的黄的全 | 不卡在线一区二区 | 日本在线播放一区 | 制片厂传媒在线 | 另类专区 | 日韩在线免费视频 | 国产精选线路一 | 福利影院在线观看 | 午夜影院日韩伦理 | 国产精品视频免费的 | 国产最新看片在线 | 国产视频日本 | 日本a在线| 国产伦子伦精品 | 成人欧美一区二 | 国产国产东北 | 国产直播| 91干屁眼视频 | 国产视频a三 | 日韩不卡手机视 | 国精产品一区 | 喷水gif | 国产乱码卡二卡 | 国产福利电影网 | 国产福利电影一区二 |