Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Один неприятный момент с SQL базой (число прочтений - 3027 )
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Один неприятный момент с SQL базой
09. Октября 2008 :: 05:47
Печать  
Есть один неприятный момент с SQL базой - если в документе двигается много регистров и устанавливается много значени ПР  справочников, на 160 пользователях в конфигурации на базе ТиС (Установлена система распределённого проведения и УРБД) иногда происходит сл. глюк:
Документ проводится, данные меняются, но галочка, что он проведён не ставится Печаль, либо не все движения записываются, опять же на непроведённом документе Печаль. Т.е. при сбое проведения  не происходит откат транзакции...
Спасает явное открытие и закрытие (норм. и отмена) транзакции в модуле формы.
Нельзя ли сделать это автоматом через 1С++
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Один неприятный момент с SQL базой
Ответ #1 - 09. Октября 2008 :: 07:01
Печать  
Релиз 1С какой?
  
Наверх
www  
IP записан
 
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Re: Один неприятный момент с SQL базой
Ответ #2 - 09. Октября 2008 :: 08:15
Печать  
Последний, 27-й, причём со стандартной транзакцией вылезает другой глюк - невозможность параллельно проводя новый документ двигать ТА, пока транзакция не завершилась... Печаль
Видимо, обычный явный вызов транзакции порождает не только сиквельные отложеные блокировки (Set implict transaction on),
но и какие-то файловые Печаль
В виде, допустим, к-л *.l$k файла...
Вобщем, чем дальше лезешь в блокировки 1С, тем всё яснее понимаешь, как криво они сделаны Печаль
Видимо, для SQL версии работают не только сиквельные блокировки, но и файловые, от ДБФ версии (Это предположение Улыбка)
Поэтому и пришла идея перед началом проведения документа явно, самостоятельно делать (Set implict transaction on) и потом, по ситуации либо Commit, либо Rollback transaction.
Так сказать, закат солнца вручную.
И это только один из глюков 1Cv77 ТиС на большом количестве активных пользователей Улыбка
Есть ещё неотпускание дескриптора *.l$k файла на таблице 1SSYSTEM при невовремя выскочившем дедлоке при автообменах. И, как следствие, невозможность двигать ТА ни одному пользователю, кроме одного (проведение новых документов невозможно) Печаль со всеми вытекающими.

Блин! как бы хотелось иметь возможность отключить файловые блокировки, оставив только сиквельные!!! Ведь по сути для SQL-версии это рудимент.

Я уже и WinDASM-ом 1С парсил... Печаль Когда предидущую проблему лечил... Вылечил - отдельное приложение закрывает блок. файл, открытый более 10 секунд.
И теряет возможность работать только один пользователь, а не 159...
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Один неприятный момент с SQL базой
Ответ #3 - 09. Октября 2008 :: 09:20
Печать  
slider26 писал(а) 09. Октября 2008 :: 08:15:
Последний, 27-й, причём со стандартной транзакцией вылезает другой глюк - невозможность параллельно проводя новый документ двигать ТА, пока транзакция не завершилась... Печаль
Видимо, обычный явный вызов транзакции порождает не только сиквельные отложеные блокировки (Set implict transaction on),
но и какие-то файловые Печаль
В виде, допустим, к-л *.l$k файла...
Вобщем, чем дальше лезешь в блокировки 1С, тем всё яснее понимаешь, как криво они сделаны Печаль
Видимо, для SQL версии работают не только сиквельные блокировки, но и файловые, от ДБФ версии (Это предположение Улыбка)
Поэтому и пришла идея перед началом проведения документа явно, самостоятельно делать (Set implict transaction on) и потом, по ситуации либо Commit, либо Rollback transaction.
Так сказать, закат солнца вручную.
И это только один из глюков 1Cv77 ТиС на большом количестве активных пользователей Улыбка
Есть ещё неотпускание дескриптора *.l$k файла на таблице 1SSYSTEM при невовремя выскочившем дедлоке при автообменах. И, как следствие, невозможность двигать ТА ни одному пользователю, кроме одного (проведение новых документов невозможно) Печаль со всеми вытекающими.

Блин! как бы хотелось иметь возможность отключить файловые блокировки, оставив только сиквельные!!! Ведь по сути для SQL-версии это рудимент.

Я уже и WinDASM-ом 1С парсил... Печаль Когда предидущую проблему лечил... Вылечил - отдельное приложение закрывает блок. файл, открытый более 10 секунд.
И теряет возможность работать только один пользователь, а не 159...

отключение файловых блокировок это к Муму ( softpoint ) но платно.

Файловые блокировки идут на справочники.
от ПР в справочников ( ИХМО ) если можно надо избавляться как можно быстрее.
У себя переделал конфигурацию - вообще не двигаю  TA
Меняю ее раз в год ставлю на конец следущего года и все.
Заварачивать впроведении еще в одну транзакцию нет смысла.
Ну и еще железо и сетка для 150 пользоватей должны быть хорошие.


Цитата:
Я уже и WinDASM-ом 1С парсил... Печаль Когда предидущую проблему лечил... Вылечил - отдельное приложение закрывает блок. файл, открытый более 10 секунд.
И теряет возможность работать только один пользователь, а не 159..
а про это можно подробней написать.
  
Наверх
 
IP записан
 
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Re: Один неприятный момент с SQL базой
Ответ #4 - 09. Октября 2008 :: 14:38
Печать  
Z1 писал(а) 09. Октября 2008 :: 09:20:
отключение файловых блокировок это к Муму ( softpoint ) но платно.

Файловые блокировки идут на справочники.
от ПР в справочников ( ИХМО ) если можно надо избавляться как можно быстрее.
У себя переделал конфигурацию - вообще не двигаю  TA
Меняю ее раз в год ставлю на конец следущего года и все.
Заварачивать впроведении еще в одну транзакцию нет смысла.
Ну и еще железо и сетка для 150 пользоватей должны быть хорошие.

Цитата:
Я уже и WinDASM-ом 1С парсил... Печаль Когда предидущую проблему лечил... Вылечил - отдельное приложение закрывает блок. файл, открытый более 10 секунд.
И теряет возможность работать только один пользователь, а не 159..
а про это можно подробней написать.

У меня и сняты сиквельные блокировки именно софтпойнтовской разработкой. ИМХО - практика показывает, что кое-что 1С ещё дополнительно блокирует файлово Печаль Тот же перенос ТА, например. Зачем - непонятно Печаль Видимо, разработчики не посчитали нужным убрать все рудименты ДБФ в SQL режиме. В том-то и вопрос, можно ли посредством 1С++ отрубить ненужное создание блокировочных файлов. (ну либо получить подсказку, где копать, и как глубоко Улыбка)

Смысл "Завёртывания" в транзакцию следующий - корректный откат транзакции при нештатном сбое проведения (Ловим дедлок, как вариант).

Вариант с переносом ТА интересный, но ведь это же постоянные доп. записи в таблицу итогов и проведение задним числом с постоянным перерасчетом итогов. Печаль

Про WinDASM-ничего интересного... Слишком неблагодарное это дело. Мне пары дней ассемблера в отладчике хватило надолго. Улыбка Написал просто отдельную прогу, которая тупо смотрит подключения пользователей по сети и типы файловых блокировок и при превышении таймаута делает CloseFile
  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Один неприятный момент с SQL базой
Ответ #5 - 09. Октября 2008 :: 15:20
Печать  
У Муму есть вариант и замены файловых блокировок sql блокировками.
ТA на конце года ну подумаешь двенадцать лишних записей в январе, феврале и.т.д. нагрузка на sql практически нулевая,
( можно делать и на конец текущего месяца или следущего ) но это надо постоянно помнить.
а у тебе при обмене УРБД постоянно и во всех переф БАЗАХ происходит пересчет для правильной установки ТА с очень большими накладными расходами, ведь что происходит при
каждом обмене.Причем учитывай что в разных переф базах может быть разное текущее время и как следствие ТА может непредсказуемо "летать" по времени в течении дня. и самое прикольное ТА может слететь в одной из пб  и в разных базах оказаться разным и при одинаковых данных получим разные остатки на ТА
и чем больше переф баз тем проблемы усугубляются.

Опять же разве Вы не перепроводите существующие документы вчерашнего дня ? При этом в твоей терминологии все равно работаете задним числом.


Еще если нужен совет по УРБД - в ЦБ не должен никто работать.
ЦБ только для обменов - это значительно улучшит ситуацию.

  
Наверх
 
IP записан
 
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Re: Один неприятный момент с SQL базой
Ответ #6 - 10. Октября 2008 :: 01:55
Печать  
Z1 писал(а) 09. Октября 2008 :: 15:20:
У Муму есть вариант и замены файловых блокировок sql блокировками.

Опять же разве Вы не перепроводите существующие документы вчерашнего дня ? При этом в твоей терминологии все равно работаете задним числом.

Еще если нужен совет по УРБД - в ЦБ не должен никто работать.
ЦБ только для обменов - это значительно улучшит ситуацию.

Это интересно - где бы почитать?

Второе по максимуму исключено  кодом (большинство документов проводятся только после ТА) Подмигивание

Спасибо за дельный совет Улыбка Мы в итоге к этому и пришли. Так-как а/о всех баз занимает 15-20 минут каждый час в ЦБ а всвязи с использованием сиквельных блокировок на этот период приходилось блокировать проведение документов :-О

  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Один неприятный момент с SQL базой
Ответ #7 - 10. Октября 2008 :: 06:24
Печать  
Цитата:
Это интересно - где бы почитать?

см ссылку http://www.softpoint.ru/article_id132.htm

Цитата:
Второе по максимуму исключено  кодом (большинство документов проводятся только после ТА)

У Вас что люди никогда не ошибаются или например еще банальней клиент хочет переделать всю сделку на другое свое юр лицо.
  
Наверх
 
IP записан
 
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Re: Один неприятный момент с SQL базой
Ответ #8 - 10. Октября 2008 :: 06:49
Печать  
За ссылку спасибо Улыбка
Z1 писал(а) 10. Октября 2008 :: 06:24:
У Вас что люди никогда не ошибаются или например еще банальней клиент хочет переделать всю сделку на другое свое юр лицо.

У нас ОЧЕНЬ мало людей, которым разрешено проведение задним числом Улыбка
А ведение сделки идёт реальным временем: при изменении, допустим, документа, резервирующего товар, дополнения и исправления пишуться реальным временем при помощи спец. служебного документа, который система вводит автоматически Улыбка
  
Наверх
 
IP записан
 
slider26
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 256
Зарегистрирован: 01. Июня 2006
Re: Один неприятный момент с SQL базой
Ответ #9 - 10. Октября 2008 :: 09:51
Печать  
Z1 писал(а) 10. Октября 2008 :: 06:24:

Всё, понял, о чём речь Улыбка
Пытался я внедрить в своё время эту разработку, но... У неё был небольшой и очень неприятный глюк:
При нештатном завершении работы БД, документы, которые были открыты у выпавшего пользователя, считались заблокироваными Печаль
А при файловых блокировках локи снимаются при аварийном завершении сессии, так как закрывается сеанс... Печаль

  
Наверх
 
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Один неприятный момент с SQL базой
Ответ #10 - 10. Октября 2008 :: 10:47
Печать  
slider26 писал(а) 10. Октября 2008 :: 09:51:
Z1 писал(а) 10. Октября 2008 :: 06:24:

Всё, понял, о чём речь Улыбка
Пытался я внедрить в своё время эту разработку, но... У неё был небольшой и очень неприятный глюк:
При нештатном завершении работы БД, документы, которые были открыты у выпавшего пользователя, считались заблокироваными Печаль
А при файловых блокировках локи снимаются при аварийном завершении сессии, так как закрывается сеанс... Печаль


Ну это можно либо самому разбираться и править либо разработчики должны это исправить. наверное на эту вещь спрос очень маленький поэтому и не доводят до ума.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать