Мы заходим в тупик в одном из наших операторов слияния
merge into target tt using
(select * from global_tmp_tb) hh
on( hh.pk=tt.pk)
when matched then
update
when not matched then
insert
---------Blocker(s)-------- ---------Waiter(s)---------
process session holds waits process session holds waits
2404 6309 X 2407 6502 S
2407 6502 X 2405 6372 S
2405 6372 X 1409 4103 S
1409 4103 X 2404 6309 S
Rows waited on:
Session 6309: obj - rowid = 0033DA34 - AAM9o0ACfAAOH6cAAA
(dictionary objn - 3398196, file - 159, block - 3702428, slot - 0)
Session 6502: obj - rowid = 0033D9B0 - AAM9mwACfAAOJaXAAA
(dictionary objn - 3398064, file - 159, block - 3708567, slot - 0)
Session 6372: obj - rowid = 0033D9B0 - AAM9mwACfAAOJhzAAA
(dictionary objn - 3398064, file - 159, block - 3709043, slot - 0)
Session 4103: obj - rowid = 0033DDD0 - AAM93QACfAAOLC5AAA
(dictionary objn - 3399120, file - 159, block - 3715257, slot - 0)
Вероятно, что вставка слияния вызовет тупик, поэтому, скажем, его обновление
В частности, этоожидание блокировки S, которая является общей блокировкой.Но если его блокировка при обновлении, то почему это не монопольная блокировка?
И что все это значит
Session 4103: obj - rowid = 0033DDD0 - AAM93QACfAAOLC5AAA
(dictionary objn - 3399120, file - 159, block - 3715257, slot - 0)
Какой объект словаря данных мне нужно запросить