Тот же SQL_ID с другим сеансом в базе данных Oracle 11g - PullRequest
0 голосов
/ 28 января 2020

Недавно мы обновили наш env с Jdk1.6 до Jdk1.8 и с Jboss server 4.3 до Jboss 7.1.0EAP без каких-либо изменений кода. Мы сталкиваемся с особой проблемой, когда мы получаем один и тот же SQL_ID с другим идентификатором сеанса, и они работают долго и долго без остановки. Может кто-нибудь сказать мне, в чем причина проблемы. Или любой указатель поможет, что вызывает это бесконечные длинные сессии

enter image description here

1 Ответ

1 голос
/ 28 января 2020

Те же самые SQL_ID просто означают, что две сессии выполняют один и тот же запрос. Это происходит, когда запрос буквально идентичен. Обычно они выглядят так:

select * from some_table, где some_column =: some_value;

Посмотрите на ":" перед some_value. Это то, что они называют переменной bin.

Так что, если ваше приложение выполняет этот запрос дважды (даже если значения параметров различаются), вы получите один и тот же sql_id, используемый во всех сеансах.

Возможно функция захвата переменных связывания из

select * from v$sql_bind_capture where sql_id = 'your_sql_id';

может помочь вам найти значения переменных, которые сеансы используют для выполнения этой длинной

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...