暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 限制并行性

ASKTOM 2019-10-11
671

问题描述

嗨,ASKTOM团队,
我对并行性不是很好,所以对DW数据库有疑问。这些是我当前的设置:

parallel_adaptive_multi_user    boolean TRUE   
parallel_automatic_tuning       boolean FALSE  
parallel_degree_limit           string  CPU    
parallel_degree_policy          string  MANUAL 
parallel_execution_message_size integer 16384  
parallel_force_local            boolean FALSE  
parallel_instance_group         string         
parallel_io_cap_enabled         boolean FALSE  
parallel_max_servers            integer 1120   
parallel_min_percent            integer 0      
parallel_min_servers            integer 0      
parallel_min_time_threshold     string  AUTO   
parallel_server                 boolean TRUE   
parallel_server_instances       integer 4      
parallel_servers_target         integer 448    
parallel_threads_per_cpu        integer 2 
复制


这些都是默认级别,SPFILE中没有指定任何内容。这些表的度 = 2或4。一些较大的指数有degrees = DEFAULT。但我看到的是,即使没有任何提示,许多用户被分配168或190或更多的并行从属。这导致主要问题,因为CPU转到90% +。我想要做的是在数据库级别设置一个参数 (或参数),所以无论什么程度是表/索引或什么用户在提示中指定,任何用户的查询运行并行性,得到一个最大8个并行查询从属。有可能吗?

谢谢

专家解答

查看平行 _ 程度 _ 限制。从文档中:



CPU

最大并行度受系统中cpu数量的限制。用于计算限制的公式是PARALLEL_THREADS_PER_CPU * CPU_COUNT * 可用实例数 (默认情况下,集群上所有打开的实例,但可以使用PARALLEL_INSTANCE_GROUP或服务规范进行约束)。这是默认的。

IO

优化器可以使用的最大并行度受到系统I/O容量的限制。该值是通过将总系统吞吐量除以每个进程的最大I/O带宽来计算的。您必须在系统上运行DBMS_RESOURCE_MANAGER.CALIBRATE_IO过程才能使用IO设置。此过程将计算总系统吞吐量和每个进程的最大I/O带宽。

整数

此参数的数字值指定当自动并行度处于活动状态时,优化器可以为SQL语句选择的最大并行度。仅当parallel_degre_policy设置为ADAPTIVE、AUTO或LIMITED时,才启用自动并行度。
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论