Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Убить без права на убийство / 25 сообщений из 30, страница 1 из 2
26.07.2016, 18:12:09
    #39280589
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
Есть долгоиграющая сессия, которая исполняет хранимку, которая делает нечто, что очень мешает работе (например, в цикле делает UPDATE+COMMIT).
Коннект к ней (например, JDBC) отвалился; либо это вообще SCHEDULER/JOB.
Доступа к консоли (SSH) нету.
Прав на убийство тоже нету.
Можно заказать убийство сессии сторонней организацией (т.н. саппорт), но заявка будет обработана в лучшем случае через 48 часов (к тому времени сессия скорее всего сама сдохнет).
Что посоветуете?
...
Рейтинг: 0 / 0
26.07.2016, 18:23:12
    #39280595
brzl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
select .. for update?
если процедура конечно вываливается по exception.
...
Рейтинг: 0 / 0
26.07.2016, 18:25:21
    #39280597
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
--Eugene--,

Если выполняется долгий цикл, то сделай чтоб стейтмент на очередной итерации словил исключение.

PS. Отвалившаяся сессия долго не жиет.
...
Рейтинг: 0 / 0
26.07.2016, 18:30:53
    #39280600
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
в том-то и дело
не могу придумать как её заставить упасть.
ведь объект, используемый ею постоянно BUSY..
и залочить его через FOR UPDATE тоже не вариант, поскольку таблица охренительных размеров, а что именно сессия обновляет - не известно..
...
Рейтинг: 0 / 0
26.07.2016, 18:33:06
    #39280603
Takurava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
--Eugene--а что именно сессия обновляет - не известно..В v$sql_bind_capture нельзя посмотреть?
...
Рейтинг: 0 / 0
26.07.2016, 18:33:37
    #39280605
orawish
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
--Eugene--..например, в цикле делает..
вставляйте в такие циклы шаг -
посмотреть в базе (в таблицу или в контекст глобальный какой или тп)
на тему наличия (или отсутствия)
чего-нибудь, означающего, для вашей сессии,
"а нужно ли ещё, продолжать исполнение или вас уже просят сдохнуть"
...
Рейтинг: 0 / 0
26.07.2016, 18:36:58
    #39280610
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
orawishвставляйте...да это понятно, последствия говнокодерства.
я же спрашиваю о краткосрочной перспективе (т.е. что делать щаз?)
...
Рейтинг: 0 / 0
26.07.2016, 18:40:21
    #39280613
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
Takurava--Eugene--а что именно сессия обновляет - не известно..В v$sql_bind_capture нельзя посмотреть?если и посмотреть, при каждой итерации это будут (почти) случайные значения (т.е. не какая-то конкретная дата, к примеру)..
...
Рейтинг: 0 / 0
26.07.2016, 18:41:24
    #39280615
brzl
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
Попробовать сделать какой-нибудь объект, к которому цикл обращается, инвалидным.
После очередной итерации свалится
...
Рейтинг: 0 / 0
26.07.2016, 18:59:05
    #39280623
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
brzlПопробовать сделать какой-нибудь объект, к которому цикл обращается, инвалидным.
После очередной итерации свалитсяэтого сделать не получается, поскольку все такие объекты ARE BUSY (ORA-00054).
а как инвалидировать используемый PL/SQL-пакет - я не знаю
...
Рейтинг: 0 / 0
26.07.2016, 19:07:41
    #39280625
Q.Tarantino
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
--Eugene--Можно заказать убийство сессии сторонней организацией (т.н. саппорт), но заявка будет обработана в лучшем случае через 48 часов (к тому времени сессия скорее всего сама сдохнет).
Что посоветуете?
плохой саппорт. подсказать с временем реакии в час максимум?
...
Рейтинг: 0 / 0
26.07.2016, 19:11:10
    #39280627
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
Q.Tarantinoплохой саппортчто делать.. какой есть
но вопрос не в саппорте, а в том, как убить сессию
...
Рейтинг: 0 / 0
26.07.2016, 19:45:01
    #39280641
Nobody1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
Resource manager если есть с правами на него, можно
exec dbms_resource_manager.switch_consumer_group_for_sess(sid,serial#,'CANCEL_SQL')

или

exec dbms_resource_manager.switch_consumer_group_for_sess(sid,serial#,'KILL_SESSION')
...
Рейтинг: 0 / 0
26.07.2016, 20:13:32
    #39280649
suPPLer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
--Eugene--,

JVM или DBMS_SCHEDULER для выполнения скриптов есть?
...
Рейтинг: 0 / 0
26.07.2016, 20:41:58
    #39280662
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
Nobody1111Resource manager если есть с правами на него, можно
+++

Нужно не сессии руками убивать, а Resource manager настроить, что бы для "долгоиграющих" приоритет урезался или вообще авто убивались )))
...
Рейтинг: 0 / 0
27.07.2016, 07:47:04
    #39280756
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
--Eugene--в цикле делает UPDATE+COMMITСоздать before statement trigger. В описанных условиях это должно просочиться.
...
Рейтинг: 0 / 0
27.07.2016, 11:42:22
    #39280971
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
Elic--Eugene--в цикле делает UPDATE+COMMITСоздать before statement trigger. В описанных условиях это должно просочиться.СПАСИБО!
...
Рейтинг: 0 / 0
27.07.2016, 11:57:31
    #39281002
pihel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
Nobody1111,

еще так (CANCEL_SQL), если есть права на пакет:
begin
sys.dbms_system.set_ev(sid,serial, 10237, 1, '');
end;
...
Рейтинг: 0 / 0
27.07.2016, 11:57:34
    #39281003
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
--Eugene--Elicпропущено...
Создать before statement trigger. В описанных условиях это должно просочиться.СПАСИБО!+ как убиться?
...
Рейтинг: 0 / 0
27.07.2016, 12:26:46
    #39281054
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
Elic--Eugene--пропущено...
СПАСИБО!+ как убиться? Как это предлагается выполнить в чужой сессии?
То что я там писал ниже про "sql_trace crash" можно выполнить в чужой с помощью oradebug, но крайне сомневаюсь что у ТС есть права.
...
Рейтинг: 0 / 0
27.07.2016, 12:29:13
    #39281058
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
dbms_photoshopКак это предлагается выполнить в чужой сессии?Ок, триггер.
...
Рейтинг: 0 / 0
27.07.2016, 13:12:36
    #39281135
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
пацанчики на районе слух пустили, мол, существуют некие системные пакеты, позволяющие убивать сессии, не имея прав на explicit kill.
если это правда, нам можно было бы попытаться поклянчить правей на эти пакеты (пакет)..
прокомментируйте, пожалуйста
...
Рейтинг: 0 / 0
27.07.2016, 13:26:38
    #39281159
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
--Eugene--пацанчики на районе слух пустили,Вали с этим в ПТ.--Eugene--можно было бы попытаться поклянчить правейПравильный путь - инкапсуляция маленькой части больших возможностей в программной единице (с проверками и протоколированием).
...
Рейтинг: 0 / 0
27.07.2016, 13:31:08
    #39281164
--Eugene--
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
Elic,

спасибо, конечно, но под "прокомментируйте, пожалуйста" я хотел спросить не о "поклянчить правей", а о существовании подобных пакетов (пакета)
...
Рейтинг: 0 / 0
27.07.2016, 13:56:28
    #39281197
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Убить без права на убийство
--Eugene--спасибо, конечно, но под "прокомментируйте, пожалуйста" я хотел спросить не о "поклянчить правей", а о существовании подобных пакетов (пакета)Ты бы уже давно написал, отдал им на аудит и исполнение и получил права. Вместо поисков гипотетических серебрянных пуль. Это прозрачнее и сопровождаемей.
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Убить без права на убийство / 25 сообщений из 30, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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