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/
Начиная с указанных версий и выше.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
LockDB_1002.zip
.zip 20,40Kb
37
37 Скачать бесплатно

Утилита позволяет выполнить приостановку модификаций информационной базы данных (ИБД) "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) Думаю, что термин "транзактивная копия" не является общепринятым. Но, очень давно, я придумал именно такой термин. Возможно, что сейчас ЭТО называется другим термином.

См. также

Архивирование (backup) Системный администратор Платформа 1С v7.7 Абонемент ($m)

Эти далекие 2000е... мы архивировали как могли. Пример командного файла для windows -- архивациия базы SQL 1С:Предприятие 7.7 средствами платформы.

1 стартмани

30.08.2024    354    0    kot1c    0    

0

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

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

1 стартмани

02.01.2017    15610    12    mt111    21    

0

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

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

1 стартмани

02.12.2016    16579    5    mt111    9    

3

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

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

1 стартмани

09.12.2014    39874    12    denisk37    72    

27

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

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

1 стартмани

16.05.2013    75279    638    alexey.karmanov    181    

84

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

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

1 стартмани

11.05.2012    14154    16    slava81    5    

3

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

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

1 стартмани

06.04.2012    13016    34    l2d808    20    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Altair777 645 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/
Оставьте свое сообщение