2016-10-25 4 views
0

Мне нужно остановить процедуру, которая запускается в базе данных оракула, нажав кнопку «Остановить» на моем интерфейсе. Я пытаюсь убить поток, который запускает процедуру, но процесс базы данных продолжается после этого.Сессия спящего режима и базы данных

Возможно ли идентифицировать сеанс, созданный спящим режимом в базе данных оракула, ответственный за выполнение процедуры, чтобы убить его?

ответ

0

Hibernate использует оператор вызова JDBC для выполнения процедур. При выполнении он запускает этот поток на экземпляре сервера базы данных. database session или слово session относится к соединению JDBC. Это необходимо убить на сервере базы данных администратором базы данных.

Для справки вы можете использовать следующие SQLs:

Чтобы найти сессию:

выберите * от $ сессии, где имя пользователя = 'baduser';

Say сеанс = 8,1082

Для того, чтобы убить сессию:

альтер система убить сеанс '8,1082';

+0

Запрос, найти сессию не возвращает ничего ... – tech4

+0

Вы уверены, что ваше приложение имеет активное соединение с базой данных, используя «baduser» идентификатора пользователя, а вы опрошены «V $ SESSION» – bhantol

+0

Да, но мой пользователь есть много открытых сессий .. я не могу убить всех из них, мне нужно знать, что несет ответственность за эту процедуру. – tech4

Смежные вопросы