|
Ошибка: Конфликт блокировок при выполнении транзакции | ☑ | ||
---|---|---|---|---|
0
seademon86
22.02.13
✎
11:30
|
Всем доброго времени суток,
Столкнулись с такой проблемой. Есть распределенная ИБ: главная база работает на SQL, распределенная - в файловом варианте - все ок, все счастливы. Переводим распределенную на SQL и в ней начинаются постоянные блокировки - пользователи постоянно создают блокировки др для друга на обычных документах (акты, накладные по 1-5 строк). При этом в головной (где та же конфа) - все хорошо. Может кто знает, в какую сторону копать, где искать проблему? |
|||
1
ВалераОшкин
22.02.13
✎
11:32
|
(0) может слишком часто обмен проходит?
|
|||
2
ВалераОшкин
22.02.13
✎
11:34
|
обмен работает через планы обмена?
|
|||
3
ВалераОшкин
22.02.13
✎
11:34
|
или каждый раз закачивается очень большой файл обмена?
|
|||
4
seademon86
22.02.13
✎
11:34
|
(1) Да нет, настроено вроде 1 раз в день (на ночь) без повторений...
|
|||
5
чувак
22.02.13
✎
11:35
|
Тоноксти блокировок.
Скорре всего уровни изоляции разные: Автоматические блокировки Файловая БД Таблиц Serializable MS SQL Server Записей Repetable Read или Serializable |
|||
6
ВалераОшкин
22.02.13
✎
11:37
|
(5) речь идет про то, что обе базы в SQL
|
|||
7
seademon86
22.02.13
✎
11:38
|
(5) Не совсем понял *смущен*. Это где-то в настройках SQL можно посмотреть?
Смущает просто, что головная всегда работала на SQL и все было отлично, а распределенную перевели, и у нее какие-то проблемы ( |
|||
8
ВалераОшкин
22.02.13
✎
11:39
|
(7) Посмотри в планах обмена размеры таблиц регистрации записей
|
|||
9
ВалераОшкин
22.02.13
✎
11:40
|
+(8) Возможно у тебя что-то не то и они не чистятся при обмене
|
|||
10
ВалераОшкин
22.02.13
✎
11:40
|
+(8) Посмотри в планах обмена размеры таблиц регистрации изменений
|
|||
11
ВалераОшкин
22.02.13
✎
11:40
|
отпишись, интересно
|
|||
12
tdm
22.02.13
✎
11:43
|
(7) поздравляю с переходом на новый уровень) скоро будете в этом разбираться, стыдно не не знать а не учиться)...
|
|||
13
ВалераОшкин
22.02.13
✎
11:46
|
Смотри, блокировки могут возникать из-за того, что у тебя при обмене не чистятся таблицы регистрации изменений планов обмена.
Каждая запись документа - это регистрация изменения. Если таблицы большие - то вполне возможно. |
|||
14
seademon86
22.02.13
✎
11:48
|
(8) - (10) полазил в планах обмена - размер таблиц не нашел где посмотреть. Это в режиме предприятия где-то посмотреть можно?
|
|||
15
ВалераОшкин
22.02.13
✎
12:12
|
(14) воспользуйся обработкой "Регистрация изменений для обмена"
После обмена посмотри, остались ли записи изменений по тем документам, у которых возникает взаимоблокировка |
|||
16
seademon86
22.02.13
✎
12:13
|
(15) Ок, спс, посмотреть смогу только в пн (нет доступа к удаленной базе) - отпишусь тогда )
|
|||
17
seademon86
22.02.13
✎
15:57
|
(15) Посмотрел таблицу регистрации изменений - на стороне "дочерней" базы все ок (ни по одному из объектов нет незарегистрированных изменений).
Кто-нибудь знает, в чем еще может быть проблема? |
|||
18
Fragster
гуру
22.02.13
✎
15:58
|
скорее всего конфа криво допилена, а в центре не возникает конфликтов от того, что документы продочтася другие как правило.
|
|||
19
Fragster
гуру
22.02.13
✎
15:59
|
конфликт блокировок - либо слишком долгие блокировки, либо разный порядок захвата ресурсов
|
|||
20
seademon86
22.02.13
✎
16:57
|
(18) продочтася = проводятся?
Документы - одни и те же, по другой организации только. Ожидание блокировок в базе настроено одинаковое (20 сек) и в головной и в распределенной. По порядку захвата ресурсов можно подробнее? Где посмотреть? |
|||
21
ВалераОшкин
22.02.13
✎
17:02
|
(17) > ни по одному из объектов нет незарегистрированных изменений
А что значит незарегистрированное изменение? |
|||
22
seademon86
22.02.13
✎
17:12
|
(21) Если правильно понял, то открыл таблицу регистрации изменений - и там все пусто
До выгрузки (http://s018.radikal.ru/i526/1302/c9/380bf7d6d51e.png) После выгрузки (http://s017.radikal.ru/i400/1302/ba/e3231ccf04fc.jpg) Если что-то не то, то где посмотреть то?! =)) |
|||
23
seademon86
22.02.13
✎
17:18
|
к (22): что бы посмотреть картинку, последнюю скобку нужно удалить ((
|
|||
24
Demiurg
22.02.13
✎
18:10
|
(0) видеть контекст взаимных блокировок (причины) можно с помощью бесплатных сервисов http://www.gilev.ru/deadlock/
скорее всего надо начать с: 1) конфа должна быть на управляемых блокировках 2) включить версионирование на субд http://www.gilev.ru/snapshot1c/ 3) если не все деадлоки уйдут, то продиагностировать выше указанным сервисом интерпретацию показаний сервиса можно бесплатно получить в специализированном форуме http://www.gilev.ru/forum/viewforum.php?f=7 |
|||
25
seademon86
23.02.13
✎
19:30
|
(24) Спасибо, с пн начну с первого пункта ...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |