powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Можно ли ограничить время ожидания Library Cache Lock
18 сообщений из 18, страница 1 из 1
Можно ли ограничить время ожидания Library Cache Lock
    #32178661
У меня время-от времени происходит полный клин системы из-за того, что все процессы начинают безлимитно ждать "Library Cache Lock".
Это происходит тогда, когда по какой-либо причине становится невалидным пакет, из-за этого становятся невалидными все зависящие от него модули и далее по цепочке (дереву) ... короче достаточно много модулей/пакетов/view становится невалидными. И это все при работающей системе.
Допустим в некотором процессе 1 в данный момент выполняется метод пакета А. Пакет А стал невалидным, но процесс 1 продолжает спокойно себе работать. При этом любой другой процесс 2 начал выполнение метода пакета Б и ему понадобилася один из методов пакета А. Такой процесс 2 тут же впадает в состояние ожидания Library Cache Lock, пока не закончится в процессе 1 выполнение метода пакета А. Все было бы ничего, но тут процессу 1 понадобился метод пакета Б и он также впадает в состояние ожидания Library Cache Lock.
ВСЕ. Приехали. Система парализована. Oracle не обнаруживает DeadLock.
Убиение процесса 1, или 2, или обоих ничего не дает, включая параметр IMMEDIATE. Они продолжают ждать в состоянии KILL. По мне так было бы лучше после некоторого ожидания уйти в аут, нежели висеть бесконечно...
Вопрос: можно ли ограничить время ожидания?
Сейчас мне приходится класть базу Shutdown Abort и вновь ее поднимать.

Вопрос: можно ли как-то разрулить ситуацию без Sutdown ?
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32178683
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"класть базу Shutdown Abort "


А что, shutdown immediate не срабатывает?
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32178688
В это случае не срабатывает, ибо ждет завершения транзакций, а они не завершаются...
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32178701
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
shutdown immediate - не ждёт завершения транзакций, он делает откат всех транзакий и отключает пользователей. Потом неявно переводит базу как shutdown normal;

А для завершения транзакций используется: shutdown transactional;
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32178715
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Вопрос: можно ли ограничить время ожидания?

Думаю, что штатными способами нельзя. Другое дело, что проще (и надежнее) не допускать такой ситуации. Согласитесь, что это не нормально удалять один из компонентов пакета, когда зависящие от него компоненты еще работают.
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32178743
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теоретически можно уменьшить количество зависимостей между пакетами, оформив вызовы методов другого пакета через execute immediate. ИМХО к подобному следует прибегать после проработки остальных вариантов, вплоть до перераспределения методов по пакетам. Да и изменение пакетов на рабочей базе, особенно в моменты большой ее нагрузки, не должно быть штатной операцией.
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32178851
Фотография killed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Допустим в некотором процессе 1 в данный момент выполняется метод пакета А. Пакет А стал невалидным,


Почему пакет А стал невалидным? Все остальное - это не проблема, а ее следствие
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32178864
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А "стандартный" отстрел через `kill -9` (orakill) теневых процессов не пробовали? Обычно помогает.
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32178868
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А "стандартный" отстрел через `kill -9` (orakill) теневых процессов не
>пробовали? Обычно помогает.

и чем это от уже упомянутого shutdown abort отличается?
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32179079
to Denis Popov
Самые "жуткие" зависимости я так и избежал, но остались те, которые появляются в автоматически сгенерированном коде (генерация некоторого набора "стандартных" методов доступа к записям таблиц по мета-базе).
Отсюда же вытекает ограничение в свободной компоновке методов по пакетам.
В принципе эта ситуация и не является штатной, иногда возникает необходимость что-то изменить/добавить в некие пакеты основных механизмов (фиксации Истории, системы внутренних сообщений, Check Integrity и т.п.). Я бы мог вообще не сталкиваться с этой ситуацией, если бы мог как-нибудь временно запрещать прием и обработку запросов от клиентов без убиения сессий, плюс запрет на запуск Job и гарантированного завершение текущих Job.
То есть, если обеспечить, чтобы в системе был активен только один процесс, который как раз и делает невалидным некий пакет А, то никаких проблем не будет. Но надежного способа для обеспечения этого я не знаю.
Сейчас у меня используется для этого специальная процедура, которая регулярно вызывается клиентом и в теле всех Job. Если доступ "запрещен", то она выдает специальный Exception, получив который, Клиент переходит в режим ожидания разрешения на работу, а Job просто заканчивает свою работу. Но это не дает 100% надежность. Вот бы задействовать механизмы самого Oracle...
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32179143
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 .dba: Хотя бы тем, что после shutdown abort нужно подымать инстанц, а после kill -9 в живых остаются по крайней мере "невиновные" сессии.
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32179145
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У Вас не техническая проблема, а организационная. Соответственно и решать ее надо не техническими методами.
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32179153
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>2 .dba: Хотя бы тем, что после shutdown abort нужно подымать инстанц, а
>после kill -9 в живых остаются по крайней мере "невиновные" сессии.

2vskv

>А "стандартный" отстрел через `kill -9` (orakill) теневых процессов не
>пробовали? Обычно помогает.

Что тогда означает слово "теневых"?
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32179167
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 .dba: Sorry, привычка -- имелся ввиду термин shadow process. В Concepts до сих пор ( 9.2, только что проверил ) есть ремарка, что так иногда называют dedicated server process .
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32179492
.dba
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>2 .dba: Sorry, привычка -- имелся ввиду термин shadow process. В Concepts
>до сих пор (9.2, только что проверил ) есть ремарка, что так иногда
>называют dedicated server process.

понятно :-) а то я чего-то в сторону фоновых (background) подумал.
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32179975
Lazy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
немного не по теме
vskv>А "стандартный" отстрел через `kill -9` (orakill) теневых процессов не пробовали? Обычно помогает.
.dba>и чем это от уже упомянутого shutdown abort отличается?

вариант vskv работает даже когда уже не можешь приконнектиться, но я бы его назвал "нестандартным" отстрелом (с поправкой теневые=background)
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32180056
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Lazy: Из фоновых, IMHO, "отстрел" единственно имеет смысл для *snp*, т.е. для джобов. Правда, это действительно несколько необычно, но всё же иногда имеет место быть :(.
...
Рейтинг: 0 / 0
Можно ли ограничить время ожидания Library Cache Lock
    #32180709
Bardis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ochen Aktualnaja Problema!!!

o nas dlya takogo sluchaja begajet cron job kotoryj po priznaku:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
connect sys


select sid,serial#,status,
       substr(username, 1 , 10 )  "Username" ,
       KGLPNUSE sess,KGLPNMOD held,KGLPNREQ req,KGLPNADR,
       KGLPNHDL,KGLPNLCK,
       substr(sql_text, 1 , 40 )  "SQL" 
       from x$kglpn , v$session, v$sqlarea
       where KGLPNHDL in (select p1raw from v$session_wait
                           where wait_time= 0  and (event like 'latch free%' or
                                                  event like 'library cache pin%'))
         and KGLPNMOD <>  0 
         and v$session.saddr=x$kglpn.kglpnuse
         and v$session.sql_address=v$sqlarea.address (+);


lupit s kill -9 vseh LCP-Holderov.

Ochen pomogajet!!!.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Можно ли ограничить время ожидания Library Cache Lock
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]