LockDB - утилита для обеспечения OnLine копирования информационной базы данных "1С:Предприятие 7.7".

05.07.11

База данных - Архивирование (backup)

Утилита совместима только с разработками:
DBEng32 (8.0.0.9, Share) http://infostart.ru/public/16268/
DBEng32 (6.0.4.2, Advantage 8.1/9.1) http://infostart.ru/public/15211/
DBEng32 (5.1.3.2, CodeBase 6.5) http://infostart.ru/public/14664/
Начиная с указанных версий и выше.

Скачать файлы

Наименование Файл Версия Размер
LockDB_1002.zip
.zip 20,40Kb
36
.zip 20,40Kb 36 Скачать бесплатно

Утилита позволяет выполнить приостановку модификаций информационной базы данных (ИБД) "1С:Предприятие 7.7" со стороны сессий 1С и выполнить "транзактивную" копию ИБД сторонним средством копирования. Для "DBEng32 Share" можно выполнять копирование на уровне обычных файлов операционной системы. Для "DBEng32 Advantage/CodeBase" следует использовать средства копирования поставляемые с данными СУБД. Т.к. предлагаемые, разработчиками этих СУБД, средства копирования работают крайне медленно, то планируется разработка "adsbackup" ориентированная на копирование только ИБД "1С:Предприятие 7.7" в среде СУБД "Advantage 8.1/9.1".

Вызов утилиты осуществляется командной строкой:

LockDB  PathDB  Strategy  Sleep  Command  Parameters

, где:

PathDB - полный путь к каталогу ИБД.

Strategy - стратегия блокировки ИБД. Допустимы следующие значения: 0, 1, 2.

0 - используется только для "DBEng32 Advantage/CodeBase".

Т.к. в этих разработках все транзакции выполняются строго последовательно, то при данной стратегии делается опрос "семафора" транзакций на общих основаниях транзакций сессий 1С. При доступности "семафора" выполняется его блокировка. Таким образом новые транзакции будут ожидать завершения копирования ИБД.

1 или 2 - используется только для "DBEng32 Share".

Т.к. в этой разработке сохранен "родной" алгоритм блокировки транзакций, то возможны выполнения нескольких транзакций одновременно из разных сессий 1С. Это позволяет управлять копированием ИБД с меньшим временем приостановки работы пользователей. В первой стратегии утилита LockDB постоянно опрашивает наличие активных транзакций. И если активных транзакций не существует, то сессиям 1С запрещается начинать новые транзакции и запускается копирование ИБД. После выполнения копирования - запрет снимается. Во второй стратегии утилита LockDB запрещает начинать новые транзакции, отслеживает завершение текущих транзакций, запускает копирование ИБД. А по завершению копирования снимает запрет на начало транзакций для сессий 1С.

Sleep - количество миллисекунд между опросами блокировок транзакций со стороны утилиты LockDB. Рекомендуется устанавливать значение - 1000 (одна секунда) и более.

Command - имя любого исполнительного файла являющимся средством копирования ИБД. Допускается текст в апострофах. Например, при использовании "DBEng32 Share" этот текст может быть следующего вида:

"XCOPY  c:\1c_base\*.dbf  d:\save\*.*"

Parameters - передаёт параметры для Command (реализовано в версии 1.0.0.2 и выше). Например, при использовании "DBEng32 Share" строка вызова утилиты может быть следующего вида:

LockDB  c:\1c_base  2  1500  XCOPY  c:\1c_base\*.dbf  d:\save\*.* 

Файл "LockDB.exe" может располагаться в любом каталоге. При использовании "DBEng32 Share" необходимо в каталог ИБД поместить файл "1SxTTS.lck" с любым содержанием (можно нулевой длины). Данный файл используется для управления синхронизацией выполнения транзакций сессиями 1С и запуском копирования утилитой LockDB. Кроме этого, наличие данного файла в каталоге ИБД, служит признаком активизации самого инструмента взаимодействия сессии 1С и утилиты LockDB. Если поместить данный файл при наличии уже активных сессий 1С, то они "не узнают" об необходимости согласовывать алгоритмы блокировки транзакций с утилитой LockDB и копии ИБД будут выполняться не "транзактивно" по отношению к этим сессиям. Иными словами - сессия 1С проверяет наличие данного файла один раз в момент собственного запуска и настраивается на взаимодействие с утилитой LockDB. Такой прием позволяет не включать лишние алгоритмы в работу "DBEng32 Share" при отсутствии необходимости выполнять OnLine копирования ИБД. При использовании "DBEng32 Advantage/CodeBase" файл "1SxTTS.lck" создаётся автоматически в момент запуска первой сессии 1С.

Утилита LockDB возвращает собственный код завершения, если возникло аварийное завершение в самой утилите (не нулевое значение). А после запуска и окончания средств копирования возвращает код завершения этих средств.

P.S.

1) Утилита LockDB. в ходе своей работы, может выдавать несколько сообщений на, вроде, "Английском" языке. Замечания по этой "проблеме" принимаются и приветствуются.

2) Думаю, что термин "транзактивная копия" не является общепринятым. Но, очень давно, я придумал именно такой термин. Возможно, что сейчас ЭТО называется другим термином.

См. также

Архивирование базы 7.7

Архивирование (backup) Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Программа, написанная на Delphi7 для автоматизации сохранения БД.

1 стартмани

02.01.2017    15354    12    mt111    21    

0

Автоматическое сохранение базы штатными средствами

Архивирование (backup) Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Всё началось с того, что я лентяй. Когда пришел на работу в первый раз, мне сообщили, что уже лет 10 делают сохранение  базы каждый день в конце рабочего дня. Из этого вытекает, что  если кто-то решит подтянуть свои хвосты, то мне приходится сидеть на работе тоже. Честно, мягко говоря, меня это не особо радовало... Порывшись на просторах инета, было принято решение сделать "автосохранялку". Как уже говорилось, "Я ЛЕНИВЫЙ", поэтому мне было попросту лень ставить всякие утилиты и программки, реализовал все штатными средствами.

1 стартмани

02.12.2016    16316    5    mt111    9    

3

Простые вещи: Делаем архив базы 1С за 30 секунд

Архивирование (backup) Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Абонемент ($m)

Архив файловой базы 1С можно сделать за 30 секунд. Делаем предварительные настройки.

1 стартмани

09.12.2014    38913    12    denisk37    72    

27

Бэкапер-1С: резервные копии бухгалтерии (1С 7.7 - 8.3)

Архивирование (backup) Платформа 1С v7.7 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv7 Абонемент ($m)

Бэкапер-1С: версия 1.5.0. Появилась гибкая система удаления старых копий! А также: автоматический поиск баз, архивация документов, встроенный архиватор 7-Zip, целостность создаваемых копий, шифрование, отправка отчетов на почту и каталогизация. Ещё никогда резервное копирование не делалось так просто.

1 стартмани

16.05.2013    74316    638    alexey.karmanov    181    

84

Архивация баз средствами командной строки Windows и архиватора Izarc, также скрипт для Linux.

Архивирование (backup) Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Архивация баз данных 1С 7.7 (при небольшом редактировании и версий 1С 8.х) средствами командной строки и архиватора Izarc Архивация каталога базы данных при размещении на Linux (smb-сервере к примеру) средствами linux.

1 стартмани

11.05.2012    13937    16    slava81    5    

3

Архивация 1сv7

Архивирование (backup) OpenConf Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Обработка при помощи WinRar архивирует каталог с БД.

1 стартмани

06.04.2012    12835    34    l2d808    20    

5

Архивация списка баз 1С:Предприятие 7.7

Архивирование (backup) Оперативный учет 7.7 Бухгалтерский учет 7.7 Расчет 7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Быстрая архивация списка баз 1С:Предприятие 7.7 в файл реестра.

1 стартмани

19.02.2012    12603    26    alexkrv    4    

3
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Altair777 644 02.07.11 09:38 Сейчас в теме
и как - работает? :)
после восстановления базы из созданного таким образом архива проблем не было?
2. hogik 443 02.07.11 17:18 Сейчас в теме
(1)
Странный вопрос Вы задаёте. ;-)
В "1С 7.7" единственный способ создать "транзактивную" копию - это остановить выполнение транзакций. Т.к. все обновления делаются в транзакции, даже если проблемный программист не заказывает этого явно. Утилита LockDB это и делает. Останавливает... ;-)
3. skelelaz 20.03.14 00:29 Сейчас в теме
Очень хорошая вещь, а то в своих бэкапах я не уверен на 100%. В ночных уверен, а вот в дневных - с вероятностью.
4. Black Cat 32 20.05.16 16:31 Сейчас в теме
А можно еще раз для тех кто в танке: эта утилита будет работать на стандартной dbf базе ? Или что-то еще нужно для ее работы ?
5. hogik 443 20.05.16 19:53 Сейчас в теме
(4)
Или что-то еще нужно для ее работы ?

Нужно: http://infostart.ru/public/16268/
Оставьте свое сообщение