CftClub.ru
Клуб специалистов ЦФТ-Банк

Блокировки при удалении счетов

 
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Oracle DBA
Предыдущая тема :: Следующая тема  
Автор Сообщение
Evgenii
Участник


Вступление в Клуб: 11.01.2012
СообщениеЧт Дек 25, 2014 15:12   Блокировки при удалении счетов Ответить с цитатой
Полезность: Нет оценки
Стала происходить следующая ситуация: открывается достаточно большое кол-во счетов (в основном из депозитов), в это время при попытке удалить какой-либо счет (абсолютно не важно какой: депозитный, кредитный, карточный, счет кассы и т.д.) происходит блокировка сессии, которая работает с удалением. Эта заблокированная сессия в своюочереь блокирует много других и на базе сразу нагрузка. Никакая ошибка не выходит, чисто визуально, как будто, завис навигатор. Блокировки видно через ЕМ, либо запросами к v$lock. В момент блокировки блокирующая сессия либо добавляет новый депозит (открывает счета, печатает документы по нему и т.д.) либо только уже это сделала, но еще ,скажем, сотрудник не закрыл форму операции. через какое-то время блокировка снимается, но тут же может опять заблокироваться уже другим сотрудником, выполняющим такую же процедуру.
Быть может кто-то сталкивался? почему вообще может происходить блокировка при удалении счета? это было бы нормально при работе с одним и тем же экземпляром, но, опять же, счет может быть никак не связан с депозитами вообще. Т.е. при множественных вставках в таблицу счетов удаление из нее блокируется...
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеПт Дек 26, 2014 04:31    Ответить с цитатой
Полезность: Нет оценки
DML вроде вызывает TM блокировку таблицы

http://my-oracle.it-blogs.com.ua/post-37.aspx
Evgenii
Участник


Вступление в Клуб: 11.01.2012
СообщениеПт Дек 26, 2014 09:11    Ответить с цитатой
Полезность: Нет оценки
Alkov пишет:
DML вроде вызывает TM блокировку таблицы

http://my-oracle.it-blogs.com.ua/post-37.aspx


А с этим можно как-то бороться?
Alkov
Профи


Вступление в Клуб: 23.09.2010
СообщениеПн Дек 29, 2014 05:18    Ответить с цитатой
Полезность: Нет оценки
Ну не удалять счёт а менять его статус на Закрытый.
Зачем его именно удалять ?
danzki
Участник - экстремал


Вступление в Клуб: 30.09.2010
СообщениеВт Дек 30, 2014 16:51    Ответить с цитатой
Полезность: Нет оценки
Мож переводить продукты и счета в какой-то статус - локальной операшкой (Закрытый не подойдет по понятной причине). Во время "затишья" (или технологического окна) джобой зачишать ненужные данные.

Еще вариант, если количество локалов позволяет: завести справочник локальный (CLASS, ID), писать в него данные для удаления. Опять же в технологический перерыв удалять данные соответствующие с помощью джоба (execute immediate...)

Оба варианта практически одинаковые.

Alkov, Евгений же написал "достаточно большое количество счетов", если все переводить в Закрытый баланс заср..тся, опять же счет можно будет только через год использовать и т.д. Маска счета может устроена так, что на одного клиента только 9 счетов можно открыть (ну может же быть так? номер филиала, номер подзразделения, код клиента и тд. и только одна циферка под порядковый номер счета с таким балансом)
Показать сообщения:   
Ответить на тему    Клуб специалистов ЦФТ-Банк (IBSO) -> Oracle DBA Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Рейтинг@Mail.ru