АЦК. При редактировании записи система зависает

Предыстория:
При попытке отвязать сертификат пользователя в карточке пользователя - система зависает. При этом никаких действий просто невозможно сделать.

Причина:
Причина в зависшей транзакции. То есть, при выполнении отвязки сертификата от пользователя - выполняется команда delete. И если в базе есть транзакция, которая еще не выполнена или ждет выполнения операции(удаление/обновление) по тем же сущностям что и команда delete - система стопорится и ждет, пока выполнится первая и последняя (delete) команда. И как только последняя команда выполниться - система вновь корректно заработает.

Проверка:
Для проверки можно выполнить следующие действия:
  1. Выполнить операцию по определенной таблице (в данном случае карточка организации) и удалить какую нибудь запись и не нажимать на COMMIT (подтв. транзакции)
  2. Параллельно нужно выполнить действие в самой системе на удаление, обновление. В результате, при подтверждении действия в системе - она просто "зависнет".
И как только мы подтвердим операцию, выполнив COMMIT - система "отвиснет".


Для Oracle требуется проверить наличие заблокированных сессий в OEM в АРМ "Blocking Sessions". Нужно чтобы не было ни одной строки в данном окне.
рис.1 Blocking Sessions в OEM

Решение:
Требуется выполнить перезапуск СП, после чего повторно проверить наличие зависших транзакций, если их не будет после перезапуска - это очень хорошо.

В данной ситуации, на БД МФ перезапуск СП не помог. транзакции так и висят. Проверка показала что зависло выполнение одного запроса - на загрузку меню пользователя (Предположительно при загрузке у одного из пользователей. Возможно в этом проблема - проверить нет возможности)

Решили проблему следующим способом - Перезапустили Oracle.
В этом случае - все незавершенные транзакции откатились и удаление сертификата прошло штатным образом.

Комментарии

Популярные сообщения из этого блога

TRUNCATE / DELETE / DROP или как очистить таблицу

Linux (РедОС). Сброс пароля

ЭС с ЦБ РФ. РЕКВИЗИТНЫЙ СОСТАВ ЭС

КБК. КВФО - Код вида финансового обеспечения (деятельности)

ТФФ 35.0. Полный перечень документов альбома ТФФ (Таблица 2)