Блокировки при удалении счетов
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Evgenii Участник
Вступление в Клуб: 11.01.2012
|
Чт Дек 25, 2014 15:12  Блокировки при удалении счетов |
|
Полезность: Нет оценки
|
Стала происходить следующая ситуация: открывается достаточно большое кол-во счетов (в основном из депозитов), в это время при попытке удалить какой-либо счет (абсолютно не важно какой: депозитный, кредитный, карточный, счет кассы и т.д.) происходит блокировка сессии, которая работает с удалением. Эта заблокированная сессия в своюочереь блокирует много других и на базе сразу нагрузка. Никакая ошибка не выходит, чисто визуально, как будто, завис навигатор. Блокировки видно через ЕМ, либо запросами к v$lock. В момент блокировки блокирующая сессия либо добавляет новый депозит (открывает счета, печатает документы по нему и т.д.) либо только уже это сделала, но еще ,скажем, сотрудник не закрыл форму операции. через какое-то время блокировка снимается, но тут же может опять заблокироваться уже другим сотрудником, выполняющим такую же процедуру.
Быть может кто-то сталкивался? почему вообще может происходить блокировка при удалении счета? это было бы нормально при работе с одним и тем же экземпляром, но, опять же, счет может быть никак не связан с депозитами вообще. Т.е. при множественных вставках в таблицу счетов удаление из нее блокируется... |
|
![](templates/subSilver/images/spacer.gif) |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
|
![](templates/subSilver/images/spacer.gif) |
Evgenii Участник
Вступление в Клуб: 11.01.2012
|
Пт Дек 26, 2014 09:11   |
|
Полезность: Нет оценки
|
А с этим можно как-то бороться? |
|
![](templates/subSilver/images/spacer.gif) |
Alkov Профи
Вступление в Клуб: 23.09.2010
|
Пн Дек 29, 2014 05:18   |
|
Полезность: Нет оценки
|
Ну не удалять счёт а менять его статус на Закрытый.
Зачем его именно удалять ? |
|
![](templates/subSilver/images/spacer.gif) |
danzki Участник - экстремал
Вступление в Клуб: 30.09.2010
|
Вт Дек 30, 2014 16:51   |
|
Полезность: Нет оценки
|
Мож переводить продукты и счета в какой-то статус - локальной операшкой (Закрытый не подойдет по понятной причине). Во время "затишья" (или технологического окна) джобой зачишать ненужные данные.
Еще вариант, если количество локалов позволяет: завести справочник локальный (CLASS, ID), писать в него данные для удаления. Опять же в технологический перерыв удалять данные соответствующие с помощью джоба (execute immediate...)
Оба варианта практически одинаковые.
Alkov, Евгений же написал "достаточно большое количество счетов", если все переводить в Закрытый баланс заср..тся, опять же счет можно будет только через год использовать и т.д. Маска счета может устроена так, что на одного клиента только 9 счетов можно открыть (ну может же быть так? номер филиала, номер подзразделения, код клиента и тд. и только одна циферка под порядковый номер счета с таким балансом) |
|
![](templates/subSilver/images/spacer.gif) |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|