Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Вниз

Backup базы Firebird   Найти похожие ветки 

 
DimaK   (2004-12-27 13:56) [0]

Поделитесь текстом процедурки которая бэкапит базу Firebird и соответственно восстанавливает, с проверкой сколько пользователей подключено к базе.
Заранее спасибо.


 
Zacho ©   (2004-12-27 14:01) [1]

DimaK   (27.12.04 13:56)
Поделитесь текстом процедурки которая бэкапит базу Firebird и соответственно восстанавливает


Какой процедурки ? Не надо никаких процедур.
Каким именно способом ты хочешь делать b/r ? ServicesAPI, gbak ?

> с проверкой сколько пользователей подключено к базе.

Это ещё зачем ?


 
DimaK   (2004-12-27 14:11) [2]

> Каким именно способом ты хочешь делать b/r ? ServicesAPI, gbak ?

А мне все равно - каким проще и надежнее - чтобы пользователь мог тыкнуть на кнопочку и у него на винте появились забакапленые базы. (ну и воосстановление соответственно)

С пользователями разобрался как считать: IBDatabaseInfo1.UserNames.Count

>Это ещё зачем ?

Ну чтобы знать что с ней кто то работает и, например, не восстанавливать ее пока они не работаются.. Или я не прав?


 
Sergey13 ©   (2004-12-27 14:17) [3]

2[2] DimaK   (27.12.04 14:11)
>чтобы пользователь мог тыкнуть на кнопочку и
Может лучше вообще без пользователя обойтись? Надежнее. На ibase.ru есть несколько вариантов таких бэкаперов.

>Ну чтобы знать что с ней кто то работает и, например, не восстанавливать ее пока они не работаются.. Или я не прав?
А зачем ее восстанавливать каждый раз, да еще на на живую базу? Надо восстанавливать в новый файл для того проверки работоспособности бэкакпной копии. На рабочую не надо.


 
Zacho ©   (2004-12-27 14:26) [4]

DimaK   (27.12.04 14:11) [2]
С пользователями разобрался как считать: IBDatabaseInfo1.UserNames.Count


И в версиях CS ты всегда получишь 1. Так что ничего ты таким способом не узнаешь.
Если нужно отключить пользователей от БД, то сделай ей Shutdown. Правда, SYSDBA так не отключишь, но юзера и не должны работать с базой под SYSDBA.

> А мне все равно - каким проще

Проще - через ServicesAPI, есть соответствующие компоненты в IBX и пример в ($DELPHI)\Demos\Db\IB
Но ServicesAPI есть не во всех версиях IB/FB
И последуй совету Sergey13 ©   (27.12.04 14:17) [3] - никогда не восстанавливай из бекапа поверх "живойЭ базы.


 
DSKalugin ©   (2004-12-27 17:03) [5]

файл, который в планировщике выполняется ежемесячно
r_copy.cmd

net send admin "Starting Backup DataBase"
"C:\Program Files\Firebird\Firebird_1_5\bin\gfix.exe" -shut -force 0 C:\ShopDB\isautostar.fdb -user "DSKALUGIN" -password "sdhsdgh"

net stop "Firebird Server - DefaultInstance"

del E:\Builder\cp_isautostar.fdb

copy C:\ShopDB\isautostar.fdb E:\Builder\cp_isautostar.fdb

net send admin "copying - ok"

net start "Firebird Server - DefaultInstance"
net start "Firebird Guardian - DefaultInstance"

"C:\Program Files\Firebird\Firebird_1_5\bin\gbak.exe" -B -L -T -user "DSKALUGIN" -password "dghjhj" C:\ShopDB\isautostar.fdb E:\Builder\bck_isautostar.gbk

net send admin "backup - ok"

"C:\Program Files\Firebird\Firebird_1_5\bin\gbak.exe" -C -P 8192 -user "DSKALUGIN" -password "xbfnbm" E:\Builder\bck_isautostar.gbk C:\ShopDB\tmp_isautostar.fdb

del C:\ShopDB\isautostar.fdb
ren C:\ShopDB\tmp_isautostar.fdb C:\ShopDB\isautostar.fdb

"C:\Program Files\Firebird\Firebird_1_5\bin\gfix.exe" -online C:\ShopDB\isautostar.fdb -user "DSKALUGIN" -password "dfhjkdhk"

net send admin "restore - ok"


 
DSKalugin ©   (2004-12-27 17:03) [6]

файл, который в планировщике выполняется ежемесячно
r_copy.cmd

net send admin "Starting Backup DataBase"
"C:\Program Files\Firebird\Firebird_1_5\bin\gfix.exe" -shut -force 0 C:\ShopDB\isautostar.fdb -user "DSKALUGIN" -password "sdhsdgh"

net stop "Firebird Server - DefaultInstance"

del E:\Builder\cp_isautostar.fdb

copy C:\ShopDB\isautostar.fdb E:\Builder\cp_isautostar.fdb

net send admin "copying - ok"

net start "Firebird Server - DefaultInstance"
net start "Firebird Guardian - DefaultInstance"

"C:\Program Files\Firebird\Firebird_1_5\bin\gbak.exe" -B -L -T -user "DSKALUGIN" -password "dghjhj" C:\ShopDB\isautostar.fdb E:\Builder\bck_isautostar.gbk

net send admin "backup - ok"

"C:\Program Files\Firebird\Firebird_1_5\bin\gbak.exe" -C -P 8192 -user "DSKALUGIN" -password "xbfnbm" E:\Builder\bck_isautostar.gbk C:\ShopDB\tmp_isautostar.fdb

del C:\ShopDB\isautostar.fdb
ren C:\ShopDB\tmp_isautostar.fdb C:\ShopDB\isautostar.fdb

"C:\Program Files\Firebird\Firebird_1_5\bin\gfix.exe" -online C:\ShopDB\isautostar.fdb -user "DSKALUGIN" -password "dfhjkdhk"

net send admin "restore - ok"


 
DimaK   (2004-12-27 20:49) [7]

спасибо, буду разбираться


 
DSKalugin ©   (2004-12-28 10:54) [8]

забыл еще дописать в шестой строчке после удаления копии
del C:\ShopDB\tmp_isautostar.fdb

надеюсь в комментариях не нуждается этот пример
То же самое на Линукс делается с помошью cron по расписанию



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.043 c
1-1106179977
_Дельфин_
2005-01-20 03:12
2005.01.30
String и Char


6-1099644586
Progh
2004-11-05 11:49
2005.01.30
Отправка сообщения на ICQ


1-1106191143
Прогресс
2005-01-20 06:19
2005.01.30
Как сделать приложение на полный экран? Чтоб поверх панели задач?


1-1106041936
denis24
2005-01-18 12:52
2005.01.30
QuickReport


10-1081908882
Tollya
2004-04-14 06:14
2005.01.30
Как сохранить в Exel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский