Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
German Профи
Вступление в Клуб: 25.06.2007
|
Сб Июн 23, 2007 11:34  Заблокированные экземпляры (LOCK_INFO) |
|
Полезность: Нет оценки
|
Если работа пользователя в ЦФТ-Банк завершена некорректно, могут остаться заблокированные им экземпляры (счета, документы и т.д.)
Можно ли снять блокировку, не дожидаясь автоматического блокировщика ORACLE ?
В "Администраторе" Словарь - Сервер - Сессии - Убить сессию пользователя
В "Навигаторе" - Система - Выполнение заданий по расписанию - операция "Обновить список блокировок пользователей" _________________ Homo homini |
|
 |
OlegFB Участник - экстремал
Вступление в Клуб: 11.07.2007
|
Ср Июл 11, 2007 09:07   |
|
Полезность: Нет оценки
|
к сожалению не всегда работает на трехзвенке... |
|
 |
German Профи
Вступление в Клуб: 25.06.2007
|
Чт Июл 12, 2007 09:05   |
|
Полезность: Нет оценки
|
OlegFB пишет: | к сожалению не всегда работает на трехзвенке... |
Чтобы корректно удалять сессии 3L нужен либо IBS либо отдельный юзер с правами на создание сессий сервера приложений (в "Админе доступа" у пользователя "Свойства" -> закладка "3 Доступ"). Также этому юзеру нужна группа "!Адм. сессий".
Под этим юзером заходить в Навигатор и работать через "Система" - "Системные журналы" - User Sessions List - Удаление сессий. _________________ Homo homini |
|
 |
OlegFB Участник - экстремал
Вступление в Клуб: 11.07.2007
|
Чт Июл 12, 2007 09:54   |
|
Полезность: Нет оценки
|
вот вот...
ibs не дают...
а создавать ещё одного пользователя...
уже черезчур...
поэтому пока такие проблемы сбрасываю на админов оракла - они убивают юзера. |
|
 |
sergius_79 Участник со стажем
Вступление в Клуб: 08.07.2007
|
Сб Июл 14, 2007 08:12   |
|
Полезность: Нет оценки
|
Недавно была проблема - не удавалось убить сессию ни в армах ИБСО, ни на Оракле, ни на Юниксе. Так и болталась в состоянии "киллед" больше трех часов. Как сказал один из наших гуру, дело было в блокировках ИБСО, а не Оракла. Может найдутся добрые люди и подскажут, как с этим бороться? |
|
 |
timochev Эксперт
Вступление в Клуб: 02.07.2007
|
Чт Июл 26, 2007 07:33   |
|
Полезность: Нет оценки
|
Только вчера была ситуация, когда повисли 40 сессий от одного пользователя. Вроде как это были сессии от Oracle Reports. Почему они не закрылись - так и понял.
Сначала попробовал их кильнуть - остались висеть в состоянии KILLED, причем соответствующие процессы в Unix уже не нашел.
Ждали около часа - сессии не отвалились.
Потом попробовали перегрузить машину, с которой все это было запущено. И (о чудо!) се сессии тут же исчезли.
ЗЫ А никто не знает, почему могут после Reports оставаться сессии? |
|
 |
dbmaslov Профи
Вступление в Клуб: 11.07.2007
|
Чт Июл 26, 2007 07:51   |
|
Полезность: Нет оценки
|
Только вчера написал операцию для отстрела блокировок.....
использовал документацию по lock_info (рекомендую. много полезного).
Тестирование операции прошло хорошо. Посмотрим, как поведет себя в реальной жизни.
procedure del(p_object string,
p_subject string default NULL);
- удалить информацию о блокировке (p_subject по умолчанию = 'OBJECT').
Позволяет удалять любые блокировки, принадлежащие текущей сессии пользователя.
При указании p_subject='DELETE' можно удалить блокировку, принадлежащую
другой сессии.
т.е. примерно так:
Код: | if lock_info.get_info( P_OBJECT_ID,p_object,l_info,l_time,l_user,u_ses,os_user,ora_user,username,u_info) then
lock_info.del(P_OBJECT_ID,'DELETE');
else
debug('Ресурс не заблокирован!', 0);
end if; |
|
|
 |
dnk_dz Эксперт
Вступление в Клуб: 19.09.2007
|
Чт Сен 20, 2007 07:53   |
|
Полезность: Нет оценки
|
Есть замечательная операция в Навигаторе "Обновить список блокировок пользователей" "Система->Выполнение заданий по расписанию"
Помогает  |
|
 |
o.raev Участник
Вступление в Клуб: 19.09.2007
|
Пн Сен 24, 2007 06:45   |
|
Полезность: Нет оценки
|
dnk_dz пишет: | Есть замечательная операция в Навигаторе "Обновить список блокировок пользователей" "Система->Выполнение заданий по расписанию"
Помогает  |
Помогает, но через очень длительное время. Когда перед операционистом стоит клиент - получается что операция бесполезная. |
|
 |
dnk_dz Эксперт
Вступление в Клуб: 19.09.2007
|
Пн Сен 24, 2007 08:54   |
|
Полезность: Нет оценки
|
o.raev пишет: | Помогает, но через очень длительное время. Когда перед операционистом стоит клиент - получается что операция бесполезная. |
Не знаю... У нас все мгновенно. |
|
 |
YuSokolov Профи
Вступление в Клуб: 29.06.2007
|
Пн Сен 24, 2007 10:13   |
|
Полезность: Нет оценки
|
dnk_dz пишет: | Есть замечательная операция в Навигаторе "Обновить список блокировок пользователей" "Система->Выполнение заданий по расписанию"
|
У нас тоже мгновенно работает (но иногда не помогает) |
|
 |
Exelens Участник
Вступление в Клуб: 05.11.2007
|
Вт Ноя 06, 2007 12:48   |
|
Полезность: Нет оценки
|
Многое ещё зависит от версии блокировщика, с внутренним проблем после удаления сессии и обновления списка блокировок быть не должно. |
|
 |
Denis Scar Участник со стажем
Вступление в Клуб: 28.09.2007
|
Вт Ноя 20, 2007 12:23   |
|
Полезность: Нет оценки
|
Если killed и нужно быстро убить процесс, то, допустим мне помогает скрипт
SELECT 'kill -9 '|| spid FROM v$process WHERE NOT EXISTS ( SELECT 1 FROM v$session WHERE paddr = addr) and not spid is null;
Выводит команды для убийства сессий в ОС, которые были убиты, но не понятно чем заняты.
Через минуту Oracle осознает, что сесиий в ОС нету и подчищает у себя. |
|
 |
mlg Участник со стажем
Вступление в Клуб: 23.07.2007
|
Чт Дек 06, 2007 14:15   |
|
Полезность: Нет оценки
|
dnk_dz пишет: | Есть замечательная операция в Навигаторе "Обновить список блокировок пользователей" "Система->Выполнение заданий по расписанию"
Помогает  |
А мы эту операцию еще и в расписание завели. Каждые 10 минут запускается. Гораздо спокойнее жить стало |
|
 |
|