Блокировки в 1С 8.3 и СУБД


В нашей статье расскажем про блокировки на следующих уровнях: в 1С 8.3 и 8.2; в СУБД. Разберем принцип их действия, и разновидности. Если в системе работает более одного пользователя, то обязательно нужна опция «Блокировка данных».

Блокировка демонстрирует, что системными ресурсами завладел «чужой» пользователь. Некоторые приравнивают ее к ошибке. Но это не так. Блокировка предназначена для разделения ресурсов, она является вынужденной и крайне необходимой мерой для работы в многопользовательском режиме.

На ряду с положительными действиями, из-за избыточного количества блокировок вполне может произойти и отрицательный эффект для системы. Их порою называют «лишними» за то, что они своим влиянием слишком много информации охватывают. Такие блокировки надо убирать, т.к. они способны сделать систему малоэффективной.

Типы блокировок 1С


Они подразделяются на объектные и транзакционные. Первые делятся на оптимистические и пессимистические. А вторые на управляемые и автоматические.

Объектные


Этот вид блокировок внедрен целиком в 1С и никоим образом не касается СУБД.

Пессимистические


Они активируются, когда, к примеру, вы поменяли что-либо в справочнике, а другой ваш коллега то же делает попытки корректировки объекта в форме.

Оптимистические


Блокировка проводит сравнение версий объекта. Т.е., когда два пользователя «зашли» в форму, и один внес изменения и сохранил объект, то другой в процессе записи получит от системы сообщение об ошибке - о возникновении отличия в вариантах объектов.

Транзакционные


Это интересный механизм со множеством функций, в отличие от перечисленных выше. В нем действуют блокировки на уровне СУБД.
Применять их следует с осторожностью, чтобы не было проблемных моментов на разных уровнях изоляции транзакций.

Автоматические транзакционные блокировки 1С и СУБД


В этом режиме все блокировки осуществляет СУБД. Программисты не могут никак повлиять на процесс. При этом разработчикам несколько проще выполнять свои действия, но пользователям не рекомендуется создавать здесь информационную систему (в особенности для СУБД PostgreSQL, Oracle BD, т.к. в процессе модификации сведений они заблокируют всю табличную часть).

Для различных СУБД в автоматическом режиме применяют такие степени изоляции:

1. SERIALIZABLE целиком на таблицу – файловый режим 1С, PostgreSQL, Oracle.

2. SERIALIZABLE на записи – MS SQL, IBM DB2 (работая с не объектными сущностями).

3. REPEATABLE READ на записи – MS SQL, IBM DB2 (с объектными).

Управляемые режимы транзакционных блокировок 1С и СУБД


При таком варианте вся ответственность должна ложиться на производителя программного продукта 1С. Отметим, что СУБД назначает повышенный уровень изоляции для транзакций — READ COMMITED.

Взаимодействуя с БД, менеджер блокировок 1С проводит анализ – возможен ли «захват» ресурса. Важно понимать, что блокировки, проведенные одним исполнителем совместимы в любом случае.

Но существует ситуация, при которой две блокировки НЕ состыкуются ни при каких обстоятельствах:

1. Их сделали разные пользователи.

2. Несовместимые виды.

3. Установили на один ресурс.

Физическая реализация блокировок в СУБД


Мы говорим о таблице, находящейся в БД под именем «master». А таблица блокировок обозначается словом «syslockinfo».

В таблице есть четыре ячейки:

1. ИД блокирующей сессии SPID.

2. Что конкретно захвачено RES ID.

3. Типы блокировки — S, U или X MODE (их, конечно же, значительно больше, но в 1С применяют лишь эти три).

4. Состояние блокировки — есть два понятия: GRANT (установлена) и WAIT (в очереди).

Чтобы завершить транзакции на уровне SQL как правило применяют команду KILL и указывают идентификатор сессии: KILL SPID/

Какие типы блокировок 1С совместимы?


S

U

X

S

+

+

-

U

+

-

-

X

-

-

-



Обозначения:

S — разделяемая блокировка (чтение).

U — блокировка обновления (которая установлена в запросе конструкцией «ДЛЯ ИЗМЕНЕНИЯ»).

X — исключительная блокировка (на запись).

Вернуться в блог

Отзывы о компании

  • Сивелькина С. В. 20 марта 2017

    ПАО "НИКО-БАНК" выражает свою благодарность за оперативную и грамотную работу.
    В условиях постоянно меняющегося законодательства Банк заинтересован иметь полную и актуальную номативную базу. Это обеспечивается использованием Банком справочно-нормативной системы "Гарант". 
    Безусловным плюсом в работе компании "МастерСофт" является быстрое реагирование сотрудников при предоставлении документов по запросу Банка, принятых до обновления справочно-правовой системы.

  • Мордвинцев С. П. 25 сентября 2016

    Коллектив компании "АЭРОПОРТ ОРЕНБУРГ" выражает благодарность за взаимовыгодное сотрудничество с МастерСофт-ИТ. Оперативная поставка антивирусных программ Dr. Web обеспечила надежную защиту нашей компьтерной сети.
    Особая благодарность сотрудникам Департамента продаж СЦ ИТ за профессиональный подход в решении всех возникающих задач.

  • Ряховская Н. А. 19 июня 2017

    ООО "Орский Вагонный Завод" выражает искреннюю благодраность за качество обслуживания вашими специалистами. Консультации и поставка антивирусов всегда проходят оперативно и на высоком профессиональном уровне.
    Уверены, что и в дальнейшем наше сотрудничество на взаимовыгодных условиях продолжится.

  • Кетерер Т. М. 19 февраля 2018

    Главный бухгалтер муниципального бюджетного учреждения дополнительного образования "Дворец творчества детей и молодёжи" Кетерер Татьяна Михайловна выражает благодарность специалистам МастерСофт:
    "Я хотела бы объявить благодарность вашим сотрудникам. Работает с нами по программе "1С: Бухгалтерия бюджетного учреждения 8" непосредственно Шевлягина Юлия.
    Так же огромная благодарность за отзывчивость, терпение и квалифицированную, своевременную помощь Набокиной Олесе и Ерёменко Татьяне (они нас сопровождают по программе "Зарплата и Кадры").
    Им очень с нами тяжело, но они терпеливо продолжают сотрудничать. С вами очень надёжно. Конечно же наши ошибки есть и без вас мы бы вообще о них не знали и в суде, наверное, судились бы. А сейчас мы решаем вопросы...".