Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 initrans и ORA-00054  [new]
AntonGart
Member

Откуда:
Сообщений: 303
Господа, просветите пожалуйста. Столкнулся с проблемой: есть табличка с pctfree 10 и initrans 1 maxtrans 255. При активном блокировании разных строк строк через FOR UPDATE NOWAIT в нескольких сеансах (максимально 10) получаю время от времени "Resource busy...". Блоки 8К -> ~800 bytes должны бы быть свободны. Почему новые слоты в таблице транзакций то не выделяются? Как-то CLOB там может быть замешан?
И какой трассой можно посмотреть блокировки на слотах транзакций?
Спасибо.
22 апр 08, 12:52    [5579219]     Ответить | Цитировать Сообщить модератору
 Re: initrans и ORA-00054  [new]
AntonGart
Member

Откуда:
Сообщений: 303
Забыл: Oracle 10.2.0.3 Enterprise Edition Win32
22 апр 08, 12:54    [5579234]     Ответить | Цитировать Сообщить модератору
 Re: initrans и ORA-00054  [new]
concepts
Member

Откуда: из засады
Сообщений: 279
AntonGart
Блоки 8К -> ~800 bytes должны бы быть свободны. Почему новые слоты в таблице транзакций то не выделяются?

Строки могут модифицироваться - их размер, соответственно, расти. Поэтому в блоках может и не быть свободного места.

AntonGart
И какой трассой можно посмотреть блокировки на слотах транзакций?

В v$segment_statistics можно посмотреть ITL waits.
Можно выявить в каких блоках находятся запрашиваемые записи, сделать их дампы и посмотреть сколько в них реально свободного места.
22 апр 08, 13:01    [5579294]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить