library cache lock

Вовка-Морковка
Дата: 01.11.2008 15:11:24
Добрый день, пишу сразу я не админ, но нужна их помощь.

бывает Арм выдает сообщение что состояние объекта инвалидное (по разным причинам в это не в даемся)

заходишь занового в арм, по идеи пакет при первом обращение вслучае инвалидности перекомпиливается. и дальше все работает, но это не происходит. сессия начинает висеть , и видно в wait'ах следующие сообщение
ibrary cache lock


подскажите куда посмотреть правильно. и как поступить.
AG#
Дата: 01.11.2008 18:38:12
Вовка-Морковка
Добрый день, пишу сразу я не админ, но нужна их помощь.

бывает Арм выдает сообщение что состояние объекта инвалидное (по разным причинам в это не в даемся)

заходишь занового в арм, по идеи пакет при первом обращение вслучае инвалидности перекомпиливается. и дальше все работает, но это не происходит. сессия начинает висеть , и видно в wait'ах следующие сообщение
ibrary cache lock


подскажите куда посмотреть правильно. и как поступить.




SELECT /*+ ORDERED */ W1.SID  WAITING_SESSION,
        H1.SID  HOLDING_SESSION,
        W.KGLLKTYPE LOCK_OR_PIN,
        W.KGLLKHDL ADDRESS,
        DECODE(H.KGLLKMOD,  0, 'NONE', 1, 'NULL', 2, 'SHARE', 3, 'EXCLUSIVE', 'UNKNOWN') MODE_HELD, 
        DECODE(W.KGLLKREQ,  0, 'NONE', 1, 'NULL', 2, 'SHARE', 3, 'EXCLUSIVE', 'UNKNOWN') MODE_REQUESTED
  FROM DBA_KGLLOCK W, DBA_KGLLOCK H, V$SESSION W1, V$SESSION H1
 WHERE
  (
   ((H.KGLLKMOD != 0) AND (H.KGLLKMOD != 1)
     AND ((H.KGLLKREQ = 0) OR (H.KGLLKREQ = 1))
     )
   AND
     (
       ((W.KGLLKMOD = 0) OR (W.KGLLKMOD= 1))
       AND ((W.KGLLKREQ != 0) AND (W.KGLLKREQ != 1))
     )
  )
  AND  W.KGLLKTYPE         =  H.KGLLKTYPE
  AND  W.KGLLKHDL         =  H.KGLLKHDL
  AND  W.KGLLKUSE     =   W1.SADDR
  AND  H.KGLLKUSE     =   H1.SADDR;

так посмотреть можно
wolf62
Дата: 01.11.2008 18:39:42
Удаленных вызовов (через DBLINK) в твоем пакете нет?
Вовка-Морковка
Дата: 05.11.2008 11:36:37
wolf62
Удаленных вызовов (через DBLINK) в твоем пакете нет?


в этом нет.

to AG# по пробую посмотреть как только еще раз это произойдет. имитировать как не хочется. я примерно предполагю, что это происходит из-за связей в пакетах. Так как обычно с начало идет ошибка валидности пакета. Хотя пакет ни кто не изменял и набор объектов работающих с ним тоже. но понятно что сессия обращается к нему и первоначальная компиловка пакета не проходит, после того как его состояние сброшено. а начинет висеть и чего ждать, потом может провалиться.
Manticora
Дата: 28.07.2009 11:11:09
А у меня есть обращение через DBLINK, и тоже всё виснет. Только почему-то сегодня стало виснуть на компиляции, а так месяц всё работало... Вышеуказанный запрос ничего не врзвращает. Чё делать, куды бечь?..
stax..
Дата: 28.07.2009 11:41:48
Вовка-Морковка
wolf62
Удаленных вызовов (через DBLINK) в твоем пакете нет?


в этом нет.

to AG# по пробую посмотреть как только еще раз это произойдет. имитировать как не хочется. я примерно предполагю, что это происходит из-за связей в пакетах. Так как обычно с начало идет ошибка валидности пакета. Хотя пакет ни кто не изменял и набор объектов работающих с ним тоже. но понятно что сессия обращается к нему и первоначальная компиловка пакета не проходит, после того как его состояние сброшено. а начинет висеть и чего ждать, потом может провалиться.

я б всетаки посоветовал Вам
1)
сделать тест простейший
(пару строк)
чтоб проверить скрипты поиска
у месть сворованый у кого скрипт который находи кто кого ждет
но не знаю монл ли постить ворованое

2)
всетаки найти почему инвалядся пакеты

.....
stax