• Ласкаво просимо на Спільнота для обміну досвідом між користувачами програм УкрБланк, УкрСклад, УкрЗарплата.
 

Резервная копия базы

Автор guber, Травень 14, 2008, 23:30:43

Попередня тема - Наступна тема

0 Користувачі і 2 Гостей дивляться цю тему.

TheOK

#30
Вадимка, установите УкрСклад на отдельную машину, настройте его и преспокойненько протестируйте что и как работает. Повосстанавливайте, посохраняйте и т.д.. Думаю, многие вопросы отпадут сами собой.
Относительно резервной копии базы данных:
База данных находится в каталоге UkrSkladS, т.е. на компьютере, который используется как сервер. Все "клиенты" (собственно программа УкрСклад) подключаются к серверу и работают с базой данных, находящейся на сервере. Т.е. База данных у вас одна и только на сервере->никаких баз данных клиентской части программы нету->никаких особых манипуляций с каталогами, где установленна клиентская часть делать не надо (разве, что сохранение файлов настроек, о которых говорил Admin выше). Сохранение базы данных (резервное копирование) можно произвести с любой машины где установлен УкрСклад (клиентская часть), подключенной по сети к серверной части. Но здесь есть одна заковырка:
Когда вы выбираете путь для сохранения, открывается окно выбора каталога и задания имени файла.. если вы на "не серверной машине" ук`ажите путь куда файл должен будет сохраниться, то файл сохранится по указанному пути (если он существует), но на компьютере, где установлена серверная часть. Так, что лучше делать сохранение именно на той машине, где находится сервак.
Если я что не так сказал, думаю, другие участники форума меня поправят.

Еще один момент
Цитата: Вадимка від Жовтень 19, 2011, 09:08:36
это все верно,что лучше это делать,когда ни кто с базой не работает вообще,т.е. в конце рабочего дня.
Сохранение базы данных можно производить в процессе работы клиентов с базой данных, здесь ничего страшного нету.
Нельзя производить восстановление во время возможных изменений в базе данных.

Сегодня я пытался восстановить БД во время активных подключений (кроме текущей машины) к БД, процесс восстановления не происходил (почему не знаю, но оно и хорошо, что не происходил).
При запуске другой копии УкрСклад (надоело говорить клиенты, серверы... да и не правильно это немножко) во время процесса восстановления возникали ошибки и он, не запустился, т.к. сразу же пытался обратиться к таблицам базы данных, которые еще не восстановились (или что-то вроде того). С другой строны во время процесса восстановления у меня получалось подключиться к базе через IBExpert -> не стоит восстанавливать БД если вы в сети и кто-то по каким-то причинам может подключиться к ней и что-то там изменить.
Работа в УкрСклад(особенности и советы): [url="//www.softbalance.com.ua/forum/index.php/topic,2362.0.html"]www.softbalance.com.ua/forum/index.php/topic,2362.0.html[/url]
Некоторые мои отчеты можно найти здесь: [url="http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html"]http://www.softbalance.com.ua/forum/index.php/topic,2307.0.html[/url]

Вадимка


admin

Вообще резерв делать с клиента можно, но путь который вы указываете это относительный путь сервера. Почему иногда вы делаете резерв из клиента указывая путь E:\!Backup\my_base.gbk и программа выдает ошибку, потому как пользователь на клиенте думает что E:\!Backup\my_base.gbk это путь на клиенте, но это путь указанный для сервера, а например на сервере этого диска E: вообще нет, вот и ошибка. Все что делается с базой происходит на сервере. Это даже в целях безопасности верно, ведь любой может прийти и сесть за ваш клиент и сделать базу себе на компьютер, что не верно база за сервер не должна уходить средствами Firebird. А защита сервера производиться уже средствами операционной системы и ее файловой системой.

Почему и пишется постоянно у нас в программе что надо делать резерв только на сервере, т.к. объяснить обычному пользователю что написано выше почти нереально :)

Вадимка

Ребята,я сегодня все-таки выловил прошлого программера,который вёл эту базу в укрскладе и еле выдавил из него,как он делал резервную копию базы...так вот он делал ее с клиентской машины(укрсклад-клиент),но файл с резервной копией,все равно отображался и сохранялся на серверной машине, потом он шел и копировал этот файл для полного сохранения и хранения с серверной машины на флешку и вносил его  рабочий комп,где находится клиентская версия укрсклада. что можете сказать об этом?

Вадимка

я так понял из этого,что лучше это все равно делать на  машине и более надежно:) только вот все равно ж надо куда-то дублировать все резервные копии? вдруг что-то случиться с серверной машиной,допустим если систему переставить или что-то в этом роде....
заранее спасибо.
жду ваши комментарии:)

Вадимка

а вот еще вопрос:) возможно ли сдлеать так как в программе M.E.DOC? т.е. делать резервную копию сразу после выхода из программы(окончание работы)?

vasos

Цитата: Вадимка від Жовтень 22, 2011, 22:38:57
а вот еще вопрос:) возможно ли сдлеать так как в программе M.E.DOC? т.е. делать резервную копию сразу после выхода из программы(окончание работы)?
Все гораздо проще, купите недорогой винт для дублирования копий, или подключите сетевой диск с другого компьютера и дублируйте себе на здоровье. А резервные копии делайте по расписанию... На форуме админ выкладывал батник, который сливает базу в fbk файл, батник можно запускать Windows Sheduler-ом, это вариант номер раз. Теперь вариант номер 2, коим пользуюсь сам благополучно уже около месяца:
1) скачать бесплатную программу http://www.xstarter.com/rus/firebird-interbase-job-scheduler.html
2) установить как системный сервис, чтобы она запускалась при старте системы
3) поправить там готовый пример "Backup database" в списке задач в ветке "FB_IB" в программе под себя (я, например, туда добавил еще сжимание фбк файла в зип и удаление бэкапов старше 30 дней)
4) не забыть потом включить задачу и настроить расписание (у меня она запускается каждый день в 4-00 утра)
5) время от времени просматривать лог бэкапа, на то проходит ли он удачно или нет, так же, по моему, можно прямо из программы парсить файл лога на предмет ошибок и высылать письмо на эмейл если они есть.
Если вышеизложенные Вам варианты не нравятся, то в принципе еще можно поиска в гугле на предмет "резервное копирование базы Firebird" :-) я думаю там будет много интересных вариантов...
С ответом наверно запаздал :-(

admin

хм, vasos, спасибо за ссылку, что то я такой программы не видел, на первый взгляд добротная программа.

Павло

Цитата: admin від Грудень 09, 2011, 11:17:45
хм, vasos, спасибо за ссылку, что то я такой программы не видел, на первый взгляд добротная программа.
приєднуюсь до слів admina

Павло

Цитата: vasos від Грудень 09, 2011, 09:59:31
3) поправить там готовый пример "Backup database" в списке задач в ветке "FB_IB" в программе под себя (я, например, туда добавил еще сжимание фбк файла в зип и удаление бэкапов старше 30 дней)
...
С ответом наверно запаздал :-(

З відповіддю, думаю, не запізнилися. Можете описати, що саме поправили (або зробіть скріншот)?

vasos

#40
Цитата: admin від Грудень 09, 2011, 11:17:45
хм, vasos, спасибо за ссылку, что то я такой программы не видел, на первый взгляд добротная программа.
Всегда пожалуйста! Программа действительно добротная, лично мне очень понравилась...
Цитата: Павло від Грудень 10, 2011, 23:25:51
Цитата: vasos від Грудень 09, 2011, 09:59:31
3) поправить там готовый пример "Backup database" в списке задач в ветке "FB_IB" в программе под себя (я, например, туда добавил еще сжимание фбк файла в зип и удаление бэкапов старше 30 дней)
...
С ответом наверно запаздал :-(

З відповіддю, думаю, не запізнилися. Можете описати, що саме поправили (або зробіть скріншот)?
Экспортировал задачу в файл (он во вложении внизу сообщения), импортировать в программу задачу можно через меню Файл-Загрузить из файла-Задача. Только там нет пароля для подключения к бд, нужно прописать его (masterkey), и в настройках отправки почты прописать свои имя пользователя и пароль, и настройки почтового сервера. Если у Вас есть почта на meta.ua, то пропишите только имя пользователя (имя_пользователя@meta.ua) и пароль, письмо будет отсылаться при неудавшемся бэкапе. Еще советую посмотреть примеры имеющиеся в программе. может что-то еще для себя примените, ведь программа умеет довольно много вещей помимо работы с IB/FB.

nanya

как изменить папку сохранения файла резервной копии базы данных, нажимаю на дискету, никаких результатов, прописать тоже невозможно

vasos

#42
Цитата: nanya від Січень 13, 2012, 10:49:54
как изменить папку сохранения файла резервной копии базы данных, нажимаю на дискету, никаких результатов, прописать тоже невозможно
странно, у меня после нажатия на дискету открывается стандартное окно виндовс "Сохранить как", может попробуйте переустановить программу, руководствуясь разделом "Как обновлять сетевую версию программы", "Как обновлять локальную версию программы" (в зависимости от того какая версия у Вас) с сайта http://www.ukrsklad.com/ru/download.html Не забудьте перед этим на всякий случай скопировать базу данных. папка bd файл sklad.tcb.

Creat

Сделал резерв базы. Дальше хотел провести восстановление. В сетевой версии не удалось. Хотя запущен только один клиент с которого всё это и пробовал проделать?
DataM.Restore:
Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
Lock time-out on wait transaction.
Object C:\UKRSKLADS\DB\SKLAD.TCB is in use .
Could not drop database C:\UkrSkladS\db\Sklad.tcb (database might be in use).


Creat

Извините! Не видел что она ещё одном компьютере запустили программу и оставили после ввода документа. Все вішли - всё получилось. Не знаю насколько это полезно и нужно, но зарезервировал - восстановил. База стала чуть меньше, может часть ошибок пропало:)