Добро утро: pin S wait on X
Тази сутрин една БД ме посрещна с 5 сесии, които висят от няколко часа върху 'cursor: pin S wait on X'. Бърз поглед из нета ми показа, че има твърде много буболечки, свързани с тия мутекси.
Но на Коледа стават чудеса. Оказа се, че при мен проблема е много по-прозаичен. Трябваше само да намеря кой, по дяволите, е отговорен заключването. Оказа се, че всяка от 5-те сесии чака различна друга сесия. Коя по-точно се намира така:
SELECT inst_id, sid blocked_sid, p2raw,
to_number(substr(to_char(rawtohex(p2raw)), 1, 8), 'XXXXXXXX') blocking_sid
FROM gv$session
WHERE event = 'cursor: pin S wait on X'
order by 1, 2;
Всички виновници се оказаха заспали долу-горе по едно време, все поради прекъсване по средата на distributed query. Причините за това хлъцване са ми ясни. Просто за пръв път виждам това да доведе до спор за мутекси…
Избих заспалите сесии и отидох да си направя чай.
А на вън вече не вали сняг.
2 Responses to “Добро утро: pin S wait on X”
Sorry, the comment form is closed at this time.
Bug 5907779: CURSOR: PIN S WAIT ON X“ RUNNING DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC
Bug 7234778:SELECTS AGAINST DUAL CAUSE CURSOR PIN S WAIT ON X WAITS
Bug 7027252: LONG WAIT FOR ‘LIBRARY CACHE LOCK’ AND ‘CURSOR: PIN S WAIT ON X’
Bug 5964485: HIGH WAIT IN RAC OF „LIBRARY CACHE LOCK“ AND „CURSOR: PIN S WAIT ON X“
Bug 7307972: HIGH VALUE FOR LIBRARY CACHE: MUTEX X“ IN AWR AS TOP WAIT EVENT
Bug 7288805: „CURSOR: PIN S WAIT ON X“ EVENTS AND EXTREME PERFORMANCE IMPACT
turn off mutexes: _kks_use_mutex_pin = FALSE
Мда, има твърде много буболечки, свързани с тия мутекси 🙂
Но като цяло идеята е „за добро“. Едно време и Cursor sharing-а беше супер бъглив, както е бил и Multi-threaded server-а при пускането си, и т.н….