Oracle - SQL-запрос отказывается работать параллельно - PullRequest
0 голосов
/ 11 мая 2018

Я пытаюсь выполнить запрос Oracle SQL параллельно, но он отказывается это делать. Мои параметры базы данных:

fast_start_parallel_rollback         string      LOW
parallel_adaptive_multi_user         boolean     TRUE
parallel_automatic_tuning            boolean     FALSE
parallel_degree_level                integer     100
parallel_degree_limit                string      CPU
parallel_degree_policy               string      AUTO
parallel_execution_message_size      integer     16384
parallel_force_local                 boolean     TRUE
parallel_instance_group              string
parallel_io_cap_enabled              boolean     FALSE
parallel_max_servers                 integer     8
parallel_min_percent                 integer     0
parallel_min_servers                 integer     0
parallel_min_time_threshold          string      AUTO
parallel_server                      boolean     FALSE
parallel_server_instances            integer     1
parallel_servers_target              integer     8
parallel_threads_per_cpu             integer     2
recovery_parallelism                 integer     0

Я пробовал следующие сессионные операторы:

alter session set parallel_degree_policy = 'AUTO';
alter session force parallel QUERY parallel 4;
alter session enable parallel query;

Я попробовал следующие подсказки SQL:

/*+ parallel(auto) */
/*+ parallel(4) */
/*+ parallel */

Я проверяю параллелизм по следующим запросам:

select *
from   v$sql_plan_monitor
where  sid = 4019
and    status = 'EXECUTING';
select SQL_TEXT, PX_SERVERS_EXECUTIONS, EXECUTIONS,
(PX_SERVERS_EXECUTIONS/EXECUTIONS) AS AVG_PQ_EXEC
from V$SQL where SQL_ID = 'a6g8hcgatapky';

Я использую сложный оператор SQL, который выполняется в течение 40 минут. Может кто-нибудь сказать мне, что я делаю неправильно и почему мой запрос не выполняется параллельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...