Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Опять cursor: pin S wait on X.  [new]
nevil123
Member

Откуда:
Сообщений: 3
Всем привет,

11.2.0.3
С утра испытываем проблемы - очень много cursor: pin S wait on X.
Ситуация критическая, а специалистов нужного ранга нет.

По рекомендации проверил кто основной пострадавший.

SQL>  select sql_id,
  2             decode(instr(program, '(P0'), 0, 'FOREGROUND', 'PX Slave') TYPE,
  3             count(*)
  4        from v$active_session_history
  5       where event = 'cursor: pin S wait on X'
  6       group by sql_id,
  7                decode(instr(program, '(P0'), 0, 'FOREGROUND', 'PX Slave')
  8      having count(*) > 100
  9       order by count(*) desc
 10  /

SQL_ID        TYPE         COUNT(*)
------------- ---------- ----------
5cbgcgdgxusy0 FOREGROUND      12781
3hcf3bkju3mnv FOREGROUND        319


SQL> select sql_id, count(*)
  2    from v$sql
  3    where sql_id = '5cbgcgdgxusy0'
  4    group by sql_id
  5    /

SQL_ID          COUNT(*)
------------- ----------
5cbgcgdgxusy0         32



select * from V$SQL_SHARED_CURSOR where sql_id = '5cbgcgdgxusy0'


выдает 54 строки и большинство на AUTH_CHECK_MISMATCH и TRANSLATION_CHECK_MISMATCH.

дальше куда смотреть не пойму пока.

Если есть какие-либо идеи или направления, прошу помощи, с оптимизаций я не работал практически...
в приложении AWR и не любимый многими спотлайт...
29 ноя 18, 15:35    [21748749]     Ответить | Цитировать Сообщить модератору
 Re: Опять cursor: pin S wait on X.  [new]
nevil123
Member

Откуда:
Сообщений: 3
В самом запросе нет ничего про аутентификацию/проверки пользователя ни строчки
29 ноя 18, 15:48    [21748778]     Ответить | Цитировать Сообщить модератору
 Re: Опять cursor: pin S wait on X.  [new]
kinky cat
Member

Откуда: с дивана23
Сообщений: 1231
nevil123,
на моей практике практически всегда проблемы с тем что cursor not shared приводил на саппорт. pin S wait on X - это следствие частого хард парса.
ваш похож на bug id 9847634
29 ноя 18, 16:12    [21748824]     Ответить | Цитировать Сообщить модератору
 Re: Опять cursor: pin S wait on X.  [new]
nevil123
Member

Откуда:
Сообщений: 3
kinky cat,

Спасибо решилось


Себе и на будущее:

Баран, включил
ALTER SYSTEM SET OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES=TRUE;


optimizer_use_sql_plan_baselines - стоит true

выключил через несколько часов захват, а почистить забыл.

Соответственно в
SELECT * FROM dba_sql_plan_baselines

куча мусора c AUTO-CAPTURE.

вычистил всё через
BEGIN
   DBMS_OUTPUT.put_line (
      DBMS_SPM.DROP_SQL_PLAN_BASELINE (sql_handle   => 'SQL_31a70ddb5cd05066',  
                                       PLAN_NAME    => NULL));
END;


все блокировки и ожидания ушли.
29 ноя 18, 16:43    [21748870]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить