![]() |
![]() |
![]() |
|
Ошибка: Конфликт блокировок при выполнении транзакции: Не удалось заблокировать | ☑ | ||
---|---|---|---|---|
0
p_morozoff
22.11.10
✎
13:10
|
Коллеги, у клиента с завидным постоянством возникает ошибка:
Конфликт блокировок при выполнении транзакции: Не удалось заблокировать таблицу '_DOCUMENT***'» Конфа УТ 10.3.8.9, платформа 81.15.14, 2 лицензии, файловый вариант, работа ведется с двух компов в локальной сети, 2-ой комп подключается к базе через сетевой диск (папка с базой на 1-ом коме расшарена) Ошибка возникает когда на обоих компах одновременно проводятся документы. Тестирование и исправление не помогло. Тестирование и исправление с отметкой "реструктуризация таблиц инф. базы" привела к ошибке работы процедуры, и обработка зависла... навсегда... :( Чекдбфл - не помог. Буду очень рад Вашим предложениям и "делением" опытом в решении этой проблемы :) Заранее благодарен. |
|||
1
detec
22.11.10
✎
13:11
|
(0) Переводить базу в клиент-сервер.
|
|||
2
Михей
22.11.10
✎
13:11
|
"Ошибка возникает когда на обоих компах одновременно проводятся документы." - отсюда ноги растут
|
|||
3
Рыжий Лис
22.11.10
✎
13:12
|
Файловый режим не предназначен для паралельной работы.
|
|||
4
igork1966
22.11.10
✎
13:18
|
(3) Мда... точнее нужно со словами
|
|||
5
p_morozoff
22.11.10
✎
13:33
|
(1) просто я думал что это баг базы, и его можно лечить, по крайней мере в тырнете нашел советы по выгрузке/загрузке, тестирование и исправление, чекдбфл - правда они не помогли ((
|
|||
6
tdm
22.11.10
✎
13:44
|
(5) дам еще один бесполезный совет - зайти в конфигуратор - администрирование - настройки инф.базы - время ожидание блокировки попробуйте увеличить)))
а вообще управляемые блокировки - хотя в файловом варианте они не работают( |
|||
7
tdm
22.11.10
✎
13:45
|
(0) а диск случайно не внешний usb ?
|
|||
8
Живой Ископаемый
22.11.10
✎
13:47
|
2(1,3) Ну-ка расскажите как клиент-серверный режим избавляет от блокировок. В чем суть механизма.
|
|||
9
Dmitrii
гуру
22.11.10
✎
13:48
|
(0) Конфа типовая?
>> когда на обоих компах одновременно проводятся документы. Какие документы (любые/какие-то конкретные) и как проводятся (интеративно/групповой обработкой)? |
|||
10
Dmitrii
гуру
22.11.10
✎
13:49
|
+ к (9) Имя таблицы именно так и выглядит '_DOCUMENT***' ?
|
|||
11
Шапокляк
22.11.10
✎
13:50
|
(8) В файловой сразу вся таблица блокируется, а в клиент-серверном варианте СУБД несколько мягче все это делает :)
|
|||
12
Dmitrii
гуру
22.11.10
✎
13:52
|
(3) >> Файловый режим не предназначен для паралельной работы.
Для двух пользователей? Ну, ну... |
|||
13
Живой Ископаемый
22.11.10
✎
13:53
|
2(11) мне показалось что ответившие говорят что перевод на клиент-сервер безусловно избавит от каких-либо блокировок... Ну если мне так только показалось - извините
|
|||
14
Шапокляк
22.11.10
✎
13:58
|
(13) Может, показалось, а может и нет, кто ж их разберет... А вообще прикольная организация труда у автора - два юзверя постоянно встречаются на одном типе документов при проведении. Или у них такая конгениальность, или обработка проведения приводит к получасовой транзакции. Не каждому дано такое наблюдать.
|
|||
15
Живой Ископаемый
22.11.10
✎
14:03
|
2(14) так отож.. А ему сразу советуют(может неявно, но все-таки) начать тратить деньги.
|
|||
16
p_morozoff
22.11.10
✎
14:06
|
(7) уверенно сказать не могу...
но по-моему нет, не усб |
|||
17
hhhh
22.11.10
✎
14:10
|
(14) вдруг они сами написали обработку проведения. Тогда вполне может быть.
|
|||
18
Шапокляк
22.11.10
✎
14:13
|
(17) "так отож". Наверно эти два юзера и написали. Коллективнымм разумом.
|
|||
19
p_morozoff
22.11.10
✎
14:13
|
(9) конфа типовая
на одном компе проводятся доки реализация товаров и услуг, на втором компе запускается внеш обработка, которая из заказов покупателей лепит и проводит доки "реализация товаров и услуг" (10) имя таблицы '_DOCUMENT213' - ну т.е. в место зведочек цифры :), иногда ругается на таблицу "ЖурналДокументов" (DocumentJournal - как-то так) |
|||
20
denis_jj
22.11.10
✎
14:15
|
не понятно зачем в данной ситуации проводить тестирование и реструктуризацию и "Чекдбфл - не помог" чем может это помочь.
|
|||
21
p_morozoff
22.11.10
✎
14:17
|
конкретно клиент привел в пример именно ситуацию когда на одном компе выполняется внеш обработка, а на другом руками проводят какой-либо документ.
но на словах так же сказал, что подобный "конфликт блокировок" возникает когда на 1-ом и 2-ом компе доки проводятся руками, причем разные типы доков. |
|||
22
p_morozoff
22.11.10
✎
14:18
|
(20) ну если воспользоваться гуглом, то можно таки найти подобные рекомендации
|
|||
23
Живой Ископаемый
22.11.10
✎
14:21
|
(22) покажите ссылку?
|
|||
24
p_morozoff
22.11.10
✎
14:24
|
Вот выдержка из одного форума:
ХХХ - В последнее время после 14 часов выдает ошибку "Конфликт блокировок при выполнении транзакции. Не удалось заблокировать таблицу _AccntReg5577" Как это лечиться? УУУ -Возможно это связано с возрастающей загрузкой сети. На форумах по 1С встречался мне подобный материал. К сожалению не могу сейчас его найти и дать вам ссылку. ХХХ - походу действительно так. пережал базу - ошибка пропала. |
|||
25
denis_jj
22.11.10
✎
14:24
|
(22) а если воспользоваться мозгом? Иногда это лучше гугла.
|
|||
26
p_morozoff
22.11.10
✎
14:24
|
||||
27
p_morozoff
22.11.10
✎
14:25
|
||||
28
p_morozoff
22.11.10
✎
14:26
|
(25) при всем моем уважении - воспользуйтесь сами своим советом, и напишите что-нибудь по теме
|
|||
29
hhhh
22.11.10
✎
14:28
|
21) ну так чего пишете, что типовая, если у вас работает явно нетиповая обработка, которая наверняка на полдня захватывает все документы реализации, и которая наверняка написана коллективным разумом выеуказанных двух юзеров?
|
|||
30
dva1c
22.11.10
✎
14:29
|
(29) это было сказано еще в (19)
|
|||
31
p_morozoff
22.11.10
✎
14:31
|
(29) дык я ж говорю - обработка, это как частный случай, т.к. ошибка возникает и при ручном проведении доков, просто обработка, как вы правильно заметили, захватывает на полдня доки, и вероятность возникновения ошибки при выполнении этой обработки намного выше, по-этому клиент в первую очередь и пожаловался на обработку.
|
|||
32
denis_jj
22.11.10
✎
14:32
|
при всём моём уважении - из вопроса ясно, что его автор абсолютно не понимает механизма блокировок платформы 1С. Почитайте теорию.
|
|||
33
Dmitrii
гуру
22.11.10
✎
14:36
|
(31) Уверены, что у вас типовая конфа? Просто устроить блокировку при интерактивной параллельной работе всего лишь двух пользователей надо очень постараться, ну или специально, вводя большие документы с кучей строк в табличных частях, жать кнопку "Провести" одновременно.
|
|||
34
Dmitrii
гуру
22.11.10
✎
14:40
|
(32) ОФФ. Послушай, уважающий. Лучше бы чего-нибудь дельного сказал, чем многозначительные фразы кидать о том, что кругом все идиоты и не в теме. Ну или промолчал бы.
Ну или расскажи почему ТиИ с реструктуризацией выдает ошибку. Или это типа нормально. |
|||
35
Живой Ископаемый
22.11.10
✎
14:46
|
2(26) ну хорошо... А почему вы подумали что вам подойдет именно этот совет, а не например, взять за основу это объяснение?
"Простейший пример возникновения: одна транзакция накладывает блокировку на таблицу БД, а вторая на другую, но для продолжения работы первой транзакции нужна та таблица, на которую наложила блокировка вторая, а для продолжения работы второй - наоборот. Очевидным образом такие взаимоблокировки неразрешимы и после определенного таймаута, как правило, сервер БД выдает ошибку." Ведь в указанной вами цитате речь идет о регистре сведений а не о таблице документов? |
|||
36
p_morozoff
22.11.10
✎
14:48
|
(33) пардон,я слукавил, сказав, что конфа типовая:
в конфе в справочник "контрагенты" добавлен реквизит типа строка, и изменена печатная форма дока "заказ покупателя" модули обработки нигде не задеты но по правде говоря такую конфу я обычно считаю за типовую :) |
|||
37
Живой Ископаемый
22.11.10
✎
14:51
|
2(36) еще момент - на данном этапе вы для себя уже поняли что в подобной (0) поведении практически нет никакой ошибки, и причину такого поведения уже восприняли? На всякий случай спрашиваю, потому что как по-мне, то уже все ясно и дальнейшее обсуждение - это переливание из пустого в порожнее...
:) |
|||
38
p_morozoff
22.11.10
✎
14:53
|
(35) ответ про взаимные блокировки прочитал только что, видимо после того как я апнул тему там написали ответ.
ну ведь можно провести параллели между этими блокировками. |
|||
39
Живой Ископаемый
22.11.10
✎
14:57
|
2(38) "провести параллели " - уж если вы выдумываете новый термин в конфо-строении, то не сочтите за труд - дайте ему определение...
|
|||
40
p_morozoff
22.11.10
✎
14:57
|
(37) я понимаю что это не ошибка, а обработка платформой конфликта блокировки.
я хочу избавиться от этого конфликта. вот еще ссылка на обсуждение подобной проблемы, и там тоже есть изложенные в (0) рекомендации: http://forum.nov.ru/index.php?showtopic=244886 |
|||
41
Dmitrii
гуру
22.11.10
✎
15:00
|
(36) Ну если только это, то, вроде как, отношения к обсуждаемой проблеме это не должно иметь.
Тогда надо разбираться как именно возникают блокировки. Либо там действительно большие документы или пользователи вводят их с такой скоростью, что блокировки для них нормальное явление, либо где-то железо/сеть тупит, либо... Честно говоря видел достаточно конторок, ведущих учет на файловой УТ с количеством пользователей до 10 человек. Блокировки конечно иногда появляются, но случается это достаточно редко. Но вот чтобы два пользователя постоянно не могли одну таблицу поделить... Ну и остается проблема с ошибкой ТиИ с реструктуризацией. Такого быть не должно. С этим что-то надо делать. Пытаться выгрузить/загрузить базу, делать ТиИ chkdbfl. |
|||
42
Живой Ископаемый
22.11.10
✎
15:02
|
Это обсуждается изо дня в день и на этом форуме...
(например: v8: До какого объема можно доводить объем SQL базы на УТ конфе? Но для того чтобы что-то научиться решать в этом вопросе..Я считаю мало читать обсуждения.. Потому что постоянно в этих обсуждениях будешь попадать в тупиковые ветки типа той, как вы уже попали, попытавшись решить проблему при помощи ТиИ... То что вам реально может помочь http://v8.1c.ru/metod/books/book.jsp?id=63 Глава 4 и 5. |
|||
43
denis_jj
22.11.10
✎
15:04
|
(34) проблема, указанная в топике, решается разделением использования ресурсов. Есть несколько способов реализации:
1. Разделение обработок по времени - запускать обработку когда документы не проводят. 2. Уменьшение пространства блокировок - переписать обработку формирования так, чтобы в один промежуток времени обрабатывалась только небольшая часть документов. Вызывать обработку циклически например регламентным заданием. Файловую базу необходимо перевести в серверную - SQL лучше работает с блокировками (блокирует диапазон записей, а не таблицу как файловая версия). 3. Разделить по времени проведение по регистрам - механизм отложенных движений (см. типовую конфигурацию). Вариантов много, зависит от конкретной задачи. В любом случае стратегия на разделение ресурсов. "Ну или расскажи почему ТиИ с реструктуризацией выдает ошибку. Или это типа нормально." - а вот это не понял о чём. Если вы имеете ввиду (24) _AccntReg5577, то тут скорее всего речь об итогах, которые в 1С записываются в физические таблицы с разделением, и реструктуризация приводит приводит к пересчету итогов и свертке разделенных записей. А чем меньше записей в таблицах, тем меньший диапазон записей будет блокировать SQL и ситуация с блокировками в целом немного улучшиться. |
|||
44
Живой Ископаемый
22.11.10
✎
15:04
|
ошибку реструктуризации можно решить переносом данных с помощью обработки выгрузказагрузкаданныххмл.епф в новую, пустую базу с такой же конфой, но годную.
|
|||
45
p_morozoff
22.11.10
✎
15:11
|
(41) при ТиИ с пометкой "реструктуризация" выдает вот такое сообщение:
------------- В процессе обновления информационной базы произошла критическая ошибка. по причине: Ошибка СУБД: Ошибка SQL: Запись значения NULL в поле, не допускающее NULL '_FLD2437_TYPE' по причине: Ошибка SQL: Запись значения NULL в поле, не допускающее NULL '_FLD2437_TYPE' ------------- тестирование физической, логической целостности и чекдбфл эту ошибку не исправили... я конечно прямой связи с конфликтом блокировки здесь не вижу, но для начала думаю надо избавиться от этой ошибки |
|||
46
tdm
22.11.10
✎
15:13
|
(40) еще можно попробовать покопаться с "железом"; может антивирусы еще дополнительно картину "портят"; для начала я бы попробовал исключить сеть (т.е. на одном ПК запустить два сеанса и промоделировать паралельную работу); запустить монитор ресурсов на диск, сеть и т.д.
про usb-диск тоже спросил неспроста, т.к. сталкивался с тем что базу хранили на таком диске да еще и на бюджетной модели маршрутизатора, там все просто переодически падало, только перенесли на базу на ПК проблема исчезла; ну и наконец никто не отменял конфигуратор и отладчик - и смотреть что у вас дольше всего отрабатывает; |
|||
47
p_morozoff
22.11.10
✎
15:15
|
(44) я сделал стандартным способом выгрузку данных(конфигуратор-администрирование-...), затем загрузил её в пустую конфу, эта процедура ошибку оставляет?
|
|||
48
Живой Ископаемый
22.11.10
✎
15:17
|
2(44) легко ведь проверить, какая разница что я отвечу.
|
|||
49
Живой Ископаемый
22.11.10
✎
15:17
|
то есть (47)
|
|||
50
p_morozoff
22.11.10
✎
15:18
|
комрады, спасибо за советы, на сегодня позвольте откланяться - пойду колдовать с базой.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |