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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用标准 精彩文档 如何使用Oracle並行作業處理 Oracle並行作業處理(Oracle Parallel Execution)主要是將一個大型的作業分解為多個獨立的部份,使的原本必須循序完成的大的作業可以由多個分工作同時完成此項作業,也就是說一般SQL語法預設是在單顆CPU上以序列(Serial)方式執行,就算是此系統上擁有多顆CPU,對於一句SQL語法而言還是無法利用到其他的CPU,如此就無法有效的善用系統資源 而Oracle並行作業處理就是為了能夠讓SQL語法善用系統所擁有的資原因應而生,但需注意的是使用Oracle並行作業處理的時機與前提是在處理一個很大的作業,如線上分析系統(Online Analytical Processing;OLAP),較不適合使用在多使用者資料庫架構上,如線上即時交易系統(Online Transaction Processing;OLTP),因為在此資料庫架構下所有的資料庫作業都是屬於小且快的作業,因此系統本身資源負擔就已經相當大。 如果啟用Oracle並行作業處理將會導致某個使用者連線佔用了所有的系統資源,使得其他使用者連線不得不去等待,甚至於導致Oracle為了將工作分解為多個獨立的部份而全面使用Full Table Scan,基於這些種種原因,在OLTP架構下啟用Oracle並行作業處理反而可能會導致整體系統效能下降的情況,因此一般OLTP系統不建議使用。 而線上分析系統(Online Analytical Processing;OLAP)主要的作業是擷取、分析及彙總大量的資料,因此可以考慮使用Oracle並行作業處理,但還是再次強調系統資源要足夠,如果本身的CPU、記憶體或是磁碟數量不足, Oracle並行作業處理對於整體效能是沒有多大的幫助。本文將會針對Oracle並行作業處理的相關應用做詳盡的解說。 Oracle並行作業處理架構 Oracle並行作業處理(Oracle Parallel Execution)的架構基本上可分為兩類主要的角色也可稱為程序(Process)分工合作共同完成,而這兩個角色的功能分別依序如下: ●Slaver Process:在Oracle並行作業處理的架構下,主要是由一群Slaver Process將工作分散為多個小的作業同時執行,每一個Slaver Process負責一小部分,而這一群Slaver Process稱為一個Slaver Process Set,假設有一句SQL語法是針對Table1執行Full Table Scan,而這一群Slaver Process會將這全表格掃描作業分解為多個獨立的部分共同完成。 ●Parallel Execution Coordinator:Parallel Execution Coordinator以下簡稱Coordinator,當使用者執行SQL語法時,會由Coordinator將這句SQL語法的資料庫作業分為多個工作,同時對Oracle申請Slaver Process Set,並決定要由多少個Slaver Process來共同執行這項作業,除此之外Coordinator還會收集每個Slaver Process所得到的結果,並將這些結果會總起來回覆給使用者;此部分須注意的是當Coordinator分配多個Slaver Process去處理SQL語法時,這分配的數量稱為並行度(Degree of Parallelism;DOP),在一句SQL語法的執行過程中,最多有兩組Slaver Process Set,這兩組Slaver Process Set所擁有的Slaver Process數量一定是一模一樣,因此Slaver Process的數量最多可以是並行度的兩倍。 原則上Coordinator會將一個大資料庫作業劃分為多個工作單位並交由Slaver Process處理,而工作劃分方式一般有兩種,如果此物件是分區物件(Partition Object)如Partition Table,則會將以分區為劃分的工作單位交由Slaver Process作業,另一種是以物件的資料區塊範圍劃分,也就是說每個劃分的工作是以部份資料區塊為工作單位,所以每個Slaver Process就負責此物件的部份資料區塊進行作業。Slaver Process與Coordinator基本作業方式如圖1所示。 ▲圖1:Oracle並行作業處理基本架構圖-1 圖1是以全表格掃描(Full Table Scan)為範例,但在一般資料庫的作業中除了全表格掃描外,其他的作業如排序作業等,也可以使用Oracle並行作業處理,也就是說當有其他作業的需求時,Oracle將會多出一組Slaver Process Se

文档评论(0)

linlin921 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档