0
Я создал блокировки на 3 сеансах таблицы записей базы данных TX.SQL-lock select check
Далее я написал запрос, чтобы проверить замки на базе Oracle, но что-то не так:
select
round(s1.seconds_in_wait/60,1) as TIME, s1.event,
s1.blocking_session as SID_A, s1.username as USER_A,
s2.sid as SID_B, s2.username as USER_B
from
v$session s1, v$session s2
where
s1.blocking_session is not null
and s1.seconds_in_wait > 1
and s1.sid = s2.sid
order by
s1.seconds_in_wait desc;
Результат:
| Time | Evetn |SID_A| USER_A |SID_B| USER_B |
-------------------------------------------------------------
|10.1 | enq: TX row lock.. | 45 | Schema1 | 54 | Schema1 |
|15.5 | enq: TX row lock.. | 45 | Schema2 | 95 | Schema2 |
Скорее это должно быть что-то вроде этого:
| Time | Evetn |SID_A| USER_A |SID_B| USER_B |
-------------------------------------------------------------
|10.1 | enq: TX row lock.. | 45 | Schema1 | 54 | Schema2 |
|15.5 | enq: TX row lock.. | 45 | Schema1 | 95 | Schema3 |
Где проблема, пожалуйста, помогите.
[Вредные привычки пинать: использование старого стиля JOIN и] (HTTP: // sqlblog. com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins.aspx) - этот список таблиц * в стиле старого стиля * должен быть ** нет дольше использовать **, и вместо этого рекомендуется использовать ** соответствующий ANSI JOIN ** синтаксис, введенный с ANSI - ** 92 ** SQL Standard (более ** 20 лет ** назад) –