17.11.2011 12:44
leonid
 
Юзеры ругаются, все зависло!
Смотрим в EM Console активность и видим:


или запросом:
Код:
SELECT  v.terminal, w.*
    FROM   v$session_wait w, v$session v
    WHERE  
     w.sid in ( select sid from v$session)
 and w.event not like ('PX%')
 and w.event not like ('SQL*Net%') 
 and w.wait_class <>'Idle'
 and w.sid=v.sid
order by w.event

И правда зависло, сессии ждут освобождения library cache lock.

Долго гуглил и думал, в чем же дело?
Нашел очень хорошую статью:
http://alldba.ru/index.php?option=com_content&view=article&id=240:-oracle-library-cache-pin-1&catid=35:oracle&Itemid=85
http://alldba.ru/index.php?option=com_content&view=article&id=241:-oracle-library-cache-pin-2&catid=35:oracle&Itemid=85

Как я понял, административные действия над табличкой (в моем случае alter table) могут напрочь повесить всех пользователей этой таблички, что может привести к зависанию всей системы в целом.

От версий ПО в данном случае (я полагаю), ничего не зависит. Такова особенность Оракла и высоконагруженных БД.
(Для примера взят СМ 1.026 + Оракл 10G на линуксе)

Если у кого-то есть интересные мысли или ссылки на тему логических зависаний БД, с удовольствием почитал бы.
Часовой пояс GMT +3, время: 19:54.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.