oracle 并行提交,如何配置Oracle并行处理(上)
配置并行處理
Oracle試圖自動化系統配置來使并行操作的性能最大化。然而,仍然有許多手工調整的空間,我們可以調整數據庫,優化SQL并行性能。
判斷并行度
合適的并行度DOP對于良好的并行性能很關鍵。Oracle會按如下方式設定DOP:
1、如果指定或請求了并行執行,但是沒有指定DOP,默認DOP會設置為該系統上CPU內核數量的兩倍。對于RAC系統,DOP值會是整個集群內核數量的兩倍。默認值是由配置參數“PARALLEL_ THREADS_PER_CPU”控制的。
2、對于Oracle 11g R2之后的版本,如果“ PARALLEL_DEGREE_POLICY”被設置為“AUTO”,Oracle將根據被執行的運行性質和涉及對象的大小自動調整DOP值。
3、如果“PARALLEL_ADAPTIVE_MULTI_USER”被設置為“TRUE”,Oracle將基于該系統的整個負載調整DOP。當系統承受更重的負載時,DOP值將會減少。
4、在Oracle 11g或者更高版本中,如果“PARALLEL_IO_CAP ”被設置為TRUE,Oracle將把DOP限制為IO子系統可以支持的值。這些IO子系統限制可以通過“DBMS_RESOURCE_ MANAGER.CALIBRATE_IO”存儲過程計算。
5、DOP可以被指定到表或者索引一級,可以通過在“CREATE TABLE”,“CREATE INDEX”,“ALTER TABLE”或者“ALTER INDEX”中使用“PARALLEL ”從句來實現。
6、“PARALLEL ”關鍵字可以被用來指定某個查詢中指定表的DOP。
7、不管任何其它設置,DOP不能超過“PARALLEL_MAX_SERVERS”可以支持的數量。對于大部分SQL語句,服務器數量需要是請求DOP的兩倍。
正如我們可以在圖13-4中看到的,超過優化點增減DOP會導致進一步性能提升的失敗。然而,超過最佳優化限制強行增加DOP值會對整個系統性能帶來重大的負面影響。盡管被并行化的SQL可能不會隨著DOP的增加而降低,但是該系統的負載會持續增加,而且會引起其它并發運行的SQL要遭受響應時間降低的影響。
圖13-5展示了增加DOP會如何影響CPU利用率。當我們達到最優DOP點時(該系統中的值大約是8),查詢時間的減少變的平緩了。然而,其它會話在等待CPU可用上花費的時間會持續增長。其它等待訪問CPU的會話將需要繼續等待,這會導致響應時間變慢。
超過最優水平增加DOP可能給主機造成過載,降低其它SQL的性能。
總結
以上是生活随笔為你收集整理的oracle 并行提交,如何配置Oracle并行处理(上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 计划中的view,为何执行
- 下一篇: oracle的释放机制,Oracle连接