管理並行SQL執行的程序

2022-04-09 07:13:13 字數 1736 閱讀 3903

本節介紹的並行執行功能可用於oracle資料庫企業版

本節介紹如何管理sql語句的並行處理。在此配置中,oracle資料庫可以將處理sql語句的工作分為多個並行程序。

「並行化表建立」中包含使用並行sql執行的示例。

本節包含以下主題:

有關使用並行提示的資訊,請參閱「oracle資料庫效能調整指南」

關於並行執行伺服器

例項啟動時,oracle資料庫將建立乙個並行執行伺服器池,可用於任何並行操作。稱為並行執行協調器的程序排程並行執行伺服器池的執行,並協調從所有這些並行執行伺服器向使用者發回結果。

並行執行伺服器預設啟用,因為預設情況下,parallel_max_servers初始化引數的值設定為》 0。這些程序可供各種可利用並行性的oracle資料庫功能使用。相關的初始化引數由資料庫為大多數使用者調整,但您可以根據需要更改它們以適合您的環境。為了便於調整,一些引數可以動態改變。

並行性可用於多種功能,包括事務恢復,複製和sql執行。在執行並行sql的情況下,本書中討論的主題並行伺服器程序在整個執行階段仍然與語句相關聯。當完整處理語句時,這些程序可用於處理其他語句。

oracle資料庫vldb和分割槽指南獲取有關使用並行執行的更多資訊

更改會話的並行執行

您可以使用alter session語句控制會話的並行sql執行。

禁用並行sql執行

使用alter session disable parallel dml | ddl | query語句禁用並行sql執行。在發布這樣的語句後,所有後續的dml(insert,update,delete),ddl(create,alter)或者查詢(select)操作都會連續執行。它們將被連續執行,而不管與所涉及的表或索引有關的任何並行屬性。但是,帶有parallel提示的語句會覆蓋會話設定

以下語句禁用並行ddl操作:

alter session disable parallel ddl;

啟用並行sql執行

使用alter session enable parallel dml | ddl | query語句啟用並行sql執行。隨後,當parallel子句或並行提示與語句關聯時,那些dml,ddl或查詢語句將並行執行。預設情況下,為ddl和查詢語句啟用並行執行。

只有在您特別發出alter session語句以啟用並行dml時,才能對dml語句進行並行處理:

alter session enable parallel dml;

強制並行sql執行

您可以使用alter session force parallel dml | ddl | query語句強制執行並行執行的所有後續dml,ddl或查詢語句。此外,您可以強制執行特定程度的並行性,從而覆蓋與後續語句關聯的任何parallel子句。如果您在此宣告中沒有指定一定的並行度,則使用預設的並行度。強制並行執行將覆蓋sql語句中的任何並行提示。

以下語句強制後續語句的並行執行,並將最重要的並行度設定為5:

alter session force parallel ddl parallel 5;

參考資料

程序並行的原理

1 程式和程序區別 程式,編譯好的二進位制檔案,儲存在磁碟中,不占用系統資源 cpu,記憶體。如a.out 程序,活躍的程式,需要占用系統資源,a.out可以在多個終端中執行,即同乙個程式可以載入為不同的程序,不同的程序互不影響。又如qt程式也可以同時開啟多個,但二者的id是不同的,如下圖windo...

Oracle中可被並行化執行的SQL操作

並不是所有的sql operations都是可並行化的 不少人認為sort merge join這種排序合併操作是不能並行化的,這顯示是一種錯誤的認識。有了這樣乙個列表你就可以更好地理解oracle中的parallel execution了 parallel query table scan nes...

Linux 管理執行中的程序

cat命令是linux下的乙個文字輸出命令,通常用於 某個檔案的內容。三個功能 一次顯示整個檔案,從鍵盤建立乙個檔案,將幾個檔案合併為乙個檔案。eg cat filename,cat filename,cat file1 file2 file3 列出程序 ps檢查執行程序的實用工具。ps u顯示使用...