如何使用Oracle并行作业处理.doc

如何使用Oracle并行作业处理.doc

ID:49362548

大小:1.41 MB

页数:16页

时间:2020-02-29

如何使用Oracle并行作业处理.doc_第1页
如何使用Oracle并行作业处理.doc_第2页
如何使用Oracle并行作业处理.doc_第3页
如何使用Oracle并行作业处理.doc_第4页
如何使用Oracle并行作业处理.doc_第5页
资源描述:

《如何使用Oracle并行作业处理.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、如何使用Oracle並行作業處理Oracle並行作業處理(OracleParallelExecution)主要是將一個大型的作業分解為多個獨立的部份,使的原本必須循序完成的大的作業可以由多個分工作同時完成此項作業,也就是說一般SQL語法預設是在單顆CPU上以序列(Serial)方式執行,就算是此系統上擁有多顆CPU,對於一句SQL語法而言還是無法利用到其他的CPU,如此就無法有效的善用系統資源而Oracle並行作業處理就是為了能夠讓SQL語法善用系統所擁有的資原因應而生,但需注意的是使用Oracle並行作業處理的時機與前提是

2、在處理一個很大的作業,如線上分析系統(OnlineAnalyticalProcessing;OLAP),較不適合使用在多使用者資料庫架構上,如線上即時交易系統(OnlineTransactionProcessing;OLTP),因為在此資料庫架構下所有的資料庫作業都是屬於小且快的作業,因此系統本身資源負擔就已經相當大。如果啟用Oracle並行作業處理將會導致某個使用者連線佔用了所有的系統資源,使得其他使用者連線不得不去等待,甚至於導致Oracle為了將工作分解為多個獨立的部份而全面使用FullTableScan,基於這些種種

3、原因,在OLTP架構下啟用Oracle並行作業處理反而可能會導致整體系統效能下降的情況,因此一般OLTP系統不建議使用。而線上分析系統(OnlineAnalyticalProcessing;OLAP)主要的作業是擷取、分析及彙總大量的資料,因此可以考慮使用Oracle並行作業處理,但還是再次強調系統資源要足夠,如果本身的CPU、記憶體或是磁碟數量不足,Oracle並行作業處理對於整體效能是沒有多大的幫助。本文將會針對Oracle並行作業處理的相關應用做詳盡的解說。Oracle並行作業處理架構Oracle並行作業處理(Orac

4、leParallelExecution)的架構基本上可分為兩類主要的角色也可稱為程序(Process)分工合作共同完成,而這兩個角色的功能分別依序如下:●SlaverProcess:在Oracle並行作業處理的架構下,主要是由一群SlaverProcess將工作分散為多個小的作業同時執行,每一個SlaverProcess負責一小部分,而這一群SlaverProcess稱為一個SlaverProcessSet,假設有一句SQL語法是針對Table1執行FullTableScan,而這一群SlaverProcess會將這全表格掃

5、描作業分解為多個獨立的部分共同完成。●ParallelExecutionCoordinator:ParallelExecutionCoordinator以下簡稱Coordinator,當使用者執行SQL語法時,會由Coordinator將這句SQL語法的資料庫作業分為多個工作,同時對Oracle申請SlaverProcessSet,並決定要由多少個SlaverProcess來共同執行這項作業,除此之外Coordinator還會收集每個SlaverProcess所得到的結果,並將這些結果會總起來回覆給使用者;此部分須注意的是當

6、Coordinator分配多個SlaverProcess去處理SQL語法時,這分配的數量稱為並行度(DegreeofParallelism;DOP),在一句SQL語法的執行過程中,最多有兩組SlaverProcessSet,這兩組SlaverProcessSet所擁有的SlaverProcess數量一定是一模一樣,因此SlaverProcess的數量最多可以是並行度的兩倍。原則上Coordinator會將一個大資料庫作業劃分為多個工作單位並交由SlaverProcess處理,而工作劃分方式一般有兩種,如果此物件是分區物件(P

7、artitionObject)如PartitionTable,則會將以分區為劃分的工作單位交由SlaverProcess作業,另一種是以物件的資料區塊範圍劃分,也就是說每個劃分的工作是以部份資料區塊為工作單位,所以每個SlaverProcess就負責此物件的部份資料區塊進行作業。SlaverProcess與Coordinator基本作業方式如圖1所示。▲圖1:Oracle並行作業處理基本架構圖-1圖1是以全表格掃描(FullTableScan)為範例,但在一般資料庫的作業中除了全表格掃描外,其他的作業如排序作業等,也可以使用

8、Oracle並行作業處理,也就是說當有其他作業的需求時,Oracle將會多出一組SlaverProcessSet來處理相關的並行作業,舉一個例子當使用者執行的SQL語法有排序的需求時的執行計畫如圖2。▲圖2:基本排序執行計畫以上的SQL語法中含有排序作業,由以上的執行計畫可得知Oracle

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。