Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Upgrade to 18c. Unwanted parallel processing.  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Всем привет.
Есть проблема с одним запросом после обновления на 18с.
Он "частично уходит" в параллельное выполнение, которое там явно не нужно.
Решением может быть
1. alter session disable parallel query;
2. получаю "непаралельный" план и закрепляю его профайлом.

Но, к сажелению, нет возможности это провернуть ввиду специфики запуска этой сессии со стороны приложения.
Подозреваю, что это дело можно порешать через sql_patch, но не могу найти подходящих хинтов.
Ататчнул SQL Active Report.

Буду блыгодарен за помощь.

К сообщению приложен файл (sqlmonitor_dvzpxa8qtpjm9_05220653.7z - 26Kb) cкачать
28 май 19, 09:44    [21895391]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
pravednik,

Не понял, а чем no_parallel не устраивает?
28 май 19, 09:52    [21895397]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
KoTTT
Member

Откуда: Екб
Сообщений: 1511
Что, и +noparallel не помогает?
28 май 19, 09:53    [21895399]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
xtender,

на какой объект ?
Судя по плану, у меня паралеллелятся джоины.
Или я не прав ?
28 май 19, 10:41    [21895424]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
По-хорошему, надо именно по плану смотреть, что паралеллится
После трансформации запроса это мажет быть совсем не очевидно
Соответственно и хинт надо указывать на (например QB) уже после трансформации (или запретить ее нафиг)
28 май 19, 10:46    [21895427]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Вячеслав Любомудров,


Вячеслав Любомудров
Соответственно и хинт надо указывать на (например QB) уже после трансформации

в этом основная проблема.
У "кусков" плана, которые параллелятся, нет qb_name-ов.
Вячеслав Любомудров
(или запретить ее нафиг)

если вы про adaptive plans, то эта штука уже отключена, но картина не поменялась
28 май 19, 10:55    [21895442]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
no_transformation -- вроде есть такое
28 май 19, 11:03    [21895455]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Вячеслав Любомудров
no_transformation -- вроде есть такое

NO_QUERY_TRANSFORMATION.
ок, попробую.
Спасибо.
28 май 19, 11:32    [21895489]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
KoTTT
Member

Откуда: Екб
Сообщений: 1511
Просто +no_parallel (noparallel устарел, однако...), без указания объекта пробовал?
28 май 19, 11:39    [21895501]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
KoTTT,

задал через

DECLARE
    v_sql_id       VARCHAR2(32767) := 'dvzpxa8qtpjm9';
    v_hint_text   VARCHAR2(32767) := q'[no_parallel no_query_transformation]';
    l_patch_name   VARCHAR2(32767);
BEGIN
    l_patch_name := sys.dbms_sqldiag.create_sql_patch(
        sql_id => v_sql_id, 
        hint_text => v_hint_text,
        name => v_sql_id || '_Fix_Parallel_Issue');
END;
/


Пока жду, пока девы проснуться ,чтоб проверить.
Прод активность уже закончилась
28 май 19, 12:42    [21895597]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18370
pravednik
жду, пока девы проснутся

Праведник однако
28 май 19, 13:05    [21895627]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18486
Я даже позавидовал
28 май 19, 13:25    [21895651]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
jan2ary
Member

Откуда: Киев
Сообщений: 1780
pravednik,

cpu_count=1
Раньше бились, чтобы план распараллелить, а тут наоборот...
28 май 19, 14:13    [21895717]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
pravednik
на какой объект ?

NO_PARALLEL может работать как на уровне запроса, так и на уровне объекта (не смог придумать более адекватное имя чем alias_level для этого столбца, есть варианты?)
+
with hints as (
select name,sql_feature
       ,class,inverse
       ,version,version_outline
       ,target_level
      ,decode(bitand(target_level,1),0,'no','yes') Statement_level
      ,decode(bitand(target_level,2),0,'no','yes') Query_block_level
      ,decode(bitand(target_level,4),0,'no','yes') Alias_level
      ,decode(bitand(target_level,8),0,'no','yes') Join_level
from v$sql_hint h
)
select *
from hints
where name = 'NO_PARALLEL'
order by name;


NAME         SQL_FEATURE CLASS  INVERSE VERSION  VERSION_OUTLINE           TARGET_LEVEL STATEMENT_LEVEL QUERY_BLOCK_LEVEL ALIAS_LEVEL JOIN_LEVEL
------------ ----------- ------ ------- -------- ------------------------- ------------ --------------- ----------------- ----------- ----------
NO_PARALLEL  QKSFM_CBO   SHARED SHARED  10.1.0.3                                      5 yes             no                yes         no
28 май 19, 14:29    [21895736]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Вячеслав Любомудров, andrey_anonymous

совсем размяк с возрастом :-)
28 май 19, 14:40    [21895764]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
pravednik
q'[no_parallel no_query_transformation]';

Спасибо, помогло
29 май 19, 10:24    [21896398]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
Stax
Member

Откуда: Ukraine,Lviv
Сообщений: 2795
pravednik
pravednik
q'[no_parallel no_query_transformation]';

Спасибо, помогло

надо оба хинта?

....
stax
29 май 19, 10:47    [21896415]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Stax
pravednik
пропущено...

Спасибо, помогло

надо оба хинта?

....
stax

достаточно было no_parallel.
29 май 19, 11:08    [21896448]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
Кобанчег
Member

Откуда: Рахів
Сообщений: 841
pravednik
pravednik
q'[no_parallel no_query_transformation]';

Спасибо, помогло
Какой отвратительный подход указывать в этом случае no_query_transformation.
Это все равно что ампутировать ногу если заноза в пальце.

Нет чтоб для начала проверить DOP у таблиц из запроса.
29 май 19, 11:24    [21896481]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
-2-
Member

Откуда:
Сообщений: 15330
Кобанчег
Нет чтоб для начала проверить DOP у таблиц из запроса.
Допустим, проверили. И??
29 май 19, 11:37    [21896511]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
Кобанчег
Member

Откуда: Рахів
Сообщений: 841
-2-,

Некоторые с удивлением обнаруживают, что default degree при создании таблиц при переезде на новую версию уже не 1.
Некоторые обнаруживают что-то еще, что приводит к некоторым действиям.
Некоторые ничего не обнаруживают и никаких действий не предпринимают.

Одно только можно сказать наверняка - если запрос (или поддерево плана) выполняется с параллельностью,
то для этого есть причина и имеет смысл адресовать именно её.
29 май 19, 12:05    [21896554]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Кобанчег
-2-,

Некоторые с удивлением обнаруживают, что default degree при создании таблиц при переезде на новую версию уже не 1.

Это было сделано
  1  select distinct degree from dba_tables where owner||'.'||table_name in (
  2* select object_owner||'.'||object_name from gv$sql_plan where sql_id='dvzpxa8qtpjm9' and object_type='TABLE')
SQL> /

DEGREE
----------
         1

SQL>
29 май 19, 12:12    [21896563]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
Кобанчег
Member

Откуда: Рахів
Сообщений: 841
pravednik,

А индексы? Может кто-то перестраивал и не сделал alter index noparallel.
29 май 19, 12:28    [21896588]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
Vivat!San
Member

Откуда: Москва
Сообщений: 719
Не нашёл спрашивали выше спрашивали уже или нет - ADOP то выключен?
29 май 19, 12:43    [21896614]     Ответить | Цитировать Сообщить модератору
 Re: Upgrade to 18c. Unwanted parallel processing.  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Кобанчег
А индексы? Может кто-то перестраивал и не сделал alter index noparallel.

хм, похоже ты прав...
29 май 19, 13:08    [21896661]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить