Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Можно ли ограничить время ожидания Library Cache Lock / 18 сообщений из 18, страница 1 из 1
06.06.2003, 16:44:14
    #32178661
Можно ли ограничить время ожидания Library Cache Lock
У меня время-от времени происходит полный клин системы из-за того, что все процессы начинают безлимитно ждать "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
06.06.2003, 16:58:36
    #32178683
softy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли ограничить время ожидания Library Cache Lock
"класть базу Shutdown Abort "


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

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

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


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

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

2vskv

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

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

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

вариант vskv работает даже когда уже не можешь приконнектиться, но я бы его назвал "нестандартным" отстрелом (с поправкой теневые=background)
...
Рейтинг: 0 / 0
10.06.2003, 01:34:32
    #32180056
vskv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли ограничить время ожидания Library Cache Lock
2Lazy: Из фоновых, IMHO, "отстрел" единственно имеет смысл для *snp*, т.е. для джобов. Правда, это действительно несколько необычно, но всё же иногда имеет место быть :(.
...
Рейтинг: 0 / 0
10.06.2003, 16:57:10
    #32180709
Bardis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли ограничить время ожидания Library Cache Lock
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
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Можно ли ограничить время ожидания Library Cache Lock / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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