|
|
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
Есть долгоиграющая сессия, которая исполняет хранимку, которая делает нечто, что очень мешает работе (например, в цикле делает UPDATE+COMMIT). Коннект к ней (например, JDBC) отвалился; либо это вообще SCHEDULER/JOB. Доступа к консоли (SSH) нету. Прав на убийство тоже нету. Можно заказать убийство сессии сторонней организацией (т.н. саппорт), но заявка будет обработана в лучшем случае через 48 часов (к тому времени сессия скорее всего сама сдохнет). Что посоветуете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 18:12:09 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
select .. for update? если процедура конечно вываливается по exception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 18:23:12 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
--Eugene--, Если выполняется долгий цикл, то сделай чтоб стейтмент на очередной итерации словил исключение. PS. Отвалившаяся сессия долго не жиет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 18:25:21 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
в том-то и дело не могу придумать как её заставить упасть. ведь объект, используемый ею постоянно BUSY.. и залочить его через FOR UPDATE тоже не вариант, поскольку таблица охренительных размеров, а что именно сессия обновляет - не известно.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 18:30:53 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
--Eugene--а что именно сессия обновляет - не известно..В v$sql_bind_capture нельзя посмотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 18:33:06 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
--Eugene--..например, в цикле делает.. вставляйте в такие циклы шаг - посмотреть в базе (в таблицу или в контекст глобальный какой или тп) на тему наличия (или отсутствия) чего-нибудь, означающего, для вашей сессии, "а нужно ли ещё, продолжать исполнение или вас уже просят сдохнуть" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 18:33:37 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
orawishвставляйте...да это понятно, последствия говнокодерства. я же спрашиваю о краткосрочной перспективе (т.е. что делать щаз?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 18:36:58 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
Takurava--Eugene--а что именно сессия обновляет - не известно..В v$sql_bind_capture нельзя посмотреть?если и посмотреть, при каждой итерации это будут (почти) случайные значения (т.е. не какая-то конкретная дата, к примеру).. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 18:40:21 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
Попробовать сделать какой-нибудь объект, к которому цикл обращается, инвалидным. После очередной итерации свалится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 18:41:24 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
brzlПопробовать сделать какой-нибудь объект, к которому цикл обращается, инвалидным. После очередной итерации свалитсяэтого сделать не получается, поскольку все такие объекты ARE BUSY (ORA-00054). а как инвалидировать используемый PL/SQL-пакет - я не знаю ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 18:59:05 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
--Eugene--Можно заказать убийство сессии сторонней организацией (т.н. саппорт), но заявка будет обработана в лучшем случае через 48 часов (к тому времени сессия скорее всего сама сдохнет). Что посоветуете? плохой саппорт. подсказать с временем реакии в час максимум? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 19:07:41 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
Q.Tarantinoплохой саппортчто делать.. какой есть но вопрос не в саппорте, а в том, как убить сессию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 19:11:10 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
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') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 19:45:01 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
--Eugene--, JVM или DBMS_SCHEDULER для выполнения скриптов есть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 20:13:32 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
Nobody1111Resource manager если есть с правами на него, можно +++ Нужно не сессии руками убивать, а Resource manager настроить, что бы для "долгоиграющих" приоритет урезался или вообще авто убивались ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2016, 20:41:58 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
--Eugene--в цикле делает UPDATE+COMMITСоздать before statement trigger. В описанных условиях это должно просочиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 07:47:04 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
Elic--Eugene--в цикле делает UPDATE+COMMITСоздать before statement trigger. В описанных условиях это должно просочиться.СПАСИБО! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 11:42:22 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
Nobody1111, еще так (CANCEL_SQL), если есть права на пакет: begin sys.dbms_system.set_ev(sid,serial, 10237, 1, ''); end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 11:57:31 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
--Eugene--Elicпропущено... Создать before statement trigger. В описанных условиях это должно просочиться.СПАСИБО!+ как убиться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 11:57:34 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
Elic--Eugene--пропущено... СПАСИБО!+ как убиться? Как это предлагается выполнить в чужой сессии? То что я там писал ниже про "sql_trace crash" можно выполнить в чужой с помощью oradebug, но крайне сомневаюсь что у ТС есть права. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 12:26:46 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopКак это предлагается выполнить в чужой сессии?Ок, триггер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 12:29:13 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
пацанчики на районе слух пустили, мол, существуют некие системные пакеты, позволяющие убивать сессии, не имея прав на explicit kill. если это правда, нам можно было бы попытаться поклянчить правей на эти пакеты (пакет).. прокомментируйте, пожалуйста ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 13:12:36 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
--Eugene--пацанчики на районе слух пустили,Вали с этим в ПТ.--Eugene--можно было бы попытаться поклянчить правейПравильный путь - инкапсуляция маленькой части больших возможностей в программной единице (с проверками и протоколированием). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 13:26:38 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
Elic, спасибо, конечно, но под "прокомментируйте, пожалуйста" я хотел спросить не о "поклянчить правей", а о существовании подобных пакетов (пакета) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 13:31:08 |
|
||
|
Убить без права на убийство
|
|||
|---|---|---|---|
|
#18+
--Eugene--спасибо, конечно, но под "прокомментируйте, пожалуйста" я хотел спросить не о "поклянчить правей", а о существовании подобных пакетов (пакета)Ты бы уже давно написал, отдал им на аудит и исполнение и получил права. Вместо поисков гипотетических серебрянных пуль. Это прозрачнее и сопровождаемей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 13:56:28 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39281135&tid=1887790]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
212ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 533ms |

| 0 / 0 |
