Дек 292012
 

Начиная с версии 10g, в представлении v$session появилось поле blocking_session, которое содержит SID сессии, блокирующей исходную. В 11.2.0.3 всё стало ещё удобнее, ибо появилось поле final_blocking_session, в котором указан SID сессии, являющейся "корнем" дерева блокировок. Убиваем её и либо всё дерево блокировок разрешается, либо "корнем" становится другая сессия. Как говорится, в таком случае надо смыть, повторить.

Если поля final_blocking_session в v$session нет, то нам поможет иерархический запрос. Continue reading »

Мар 122012
 

При миграции БД с версии 10.2.0.4 на 11.2.0.3 вылез неприятнейший Bug 11074304, связанный с несовместимостью с пакетами, обработанными утилитой WRAP версии 9 с БД релиза 11.2.0.3. Патча для этого бага нет, а ставить старый релиз (в 11.2.0.1 этой проблемы почему-то нет) не хочется.
Решение вроде простое - обработать все пакеты WRAP'ом заново, но есть загвоздка: нет тривиального способа определить, какой версией WRAP'а пакет обработан.
Проведём небольшой эксперимент: обработаем какой-нибудь пакет 9 и 10 WRAP'ом и посмотрим его код, чтобы найти различия.
Итак, результат 9 WRAP: Continue reading »