powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / for цикл commit
12 сообщений из 37, страница 2 из 2
for цикл commit
    #32186096
Simon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я тоже работал с биллингом:)
все зависит от ситуации и от предпочтений программиста

если я, например, провожу обсчет объемных скидок на pl/sql, то мне нафиг не надо чтобы при возникновении ошибки у одного абонента откатилась информация по другим(просто мне ее потом пересчитывать в ломы)

есть куча архитектурных решений как это сделать
одно лучше другое хуже, но они все могут существовать

p.s. или, например, я параллельно пишу в журнал тех абонентов, которых обработал, тут вообще лучший способ - автономные транзакции
...
Рейтинг: 0 / 0
for цикл commit
    #32186168
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Согласен, но это требует дополнительной логики, да и запутаться легко
...
Рейтинг: 0 / 0
for цикл commit
    #32186172
Фотография Oracle X-pert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Skazannoe verno, no..
tol'ko dlya prosto DBA.
Lyboi Application DBA ( ne putat' s DBA Oracle Application ) dast vam kuchu primerov zelesoobraznosti takoi operazii, xot' v tom ge Billing / Online Biiling.
Ne byvaet polnost'u universal'nyx reshenii:: izmenenie granichnyx yslovii vlechet za soboi izmenenie poryadka reshenii.
Izvechnyi spor zeny i zelesoobraznosti...
...
Рейтинг: 0 / 0
for цикл commit
    #32186689
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроме извечного вопроса про цену/целесообразность и спора, как правильно писать billing (который автономен для каждого клиента, между прочим -- редко, когда двум разным клиентам нужно обсчитывать в рамках одной транзакции), добавлю ещё один повод делать частый commit -- когда параллельно с этими insert/update/delete живёт какое-либо приложение, которое эти данные не только использует, но и меняет.
Потому как deadlock однако будет (или блокировка, в лучшем случае).
...
Рейтинг: 0 / 0
for цикл commit
    #32186752
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deadlock в Oracle штука редкая, его нужно специально добиваться.
...
Рейтинг: 0 / 0
for цикл commit
    #32186958
vskv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Gluk (Kazan): Вы, судя по всему, никогда не сталкивались с приложениями, где конкуренция за данные явление более чем нормальное.
С точки зрения Оракула, никакого deadlock не возникает -- просто кто-то будет очень долго ждать, а время отклика станет на порядок больше.
А вот если взглянуть со стороны, то станет видно, что один (состоящий из нескольких десятков параллельных процессов) ждёт другого, который в свою очередь ждёт первого.
...
Рейтинг: 0 / 0
for цикл commit
    #32187030
Фотография softy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как пример. Deadlock возник при увеличении кол-ва операций в транзакции в
пакетной обработке с 500 до 1000. Конфликт возник у пользовательской
сессии при обращении к тому-же русурсу. Ошибка произошла после истечения тайм-аута, потому-что транзакция была достаточно долгой.
Код: plaintext
1.
2.
Tue May  13   15 : 04 : 26   2003  ORA- 000060 : Deadlock detected. More info in
file /oracle8i/admin/ORCL/udump/ora_1574.trc.
...
Рейтинг: 0 / 0
for цикл commit
    #32187032
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Просто я стараюсь делать транзакции с update, insert и delete максимально короткими и прозрачными. А select-ы блокировок не накладывают. Операторов у меня действительно не много ~20 рабочих мест, но все таки я считаю, что deadlock в Oracle в очень большой степени ошибка разработчика (я знаю, что они снимаются автоматически).
...
Рейтинг: 0 / 0
for цикл commit
    #32187040
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пакетные задания у меня выполняются ночью, когда операторы спят. И что характерно, не конфликтуют между собой.
...
Рейтинг: 0 / 0
for цикл commit
    #32187049
Simon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Глюк

Везет тебе, а вот когда абонентов станет побольше, они у тебя будут идти круглосуточно
...
Рейтинг: 0 / 0
for цикл commit
    #32187069
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Абонентов у меня 40000 в телевизионном биллинге и 4000 в интернет, плюс оплата по PIN-картам по 1000 штук в день. Операторов 10~20, филиалов 3.
Плюс рекламщики (планирование эфира). Интернет биллинг - Абсолют, остальное самописное.
...
Рейтинг: 0 / 0
for цикл commit
    #32187071
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ладно, с PIN-картами я погорячился, 50~100 в день
...
Рейтинг: 0 / 0
12 сообщений из 37, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / for цикл commit
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]