вопрос по backup'у

Администирование клиентской и серверной части InterBase, Firebird, Yaffil. Настройка файла конфигурации и т.п.

Модераторы: kdv, Alexey Kovyazin

Ответить
mystafa
Сообщения: 7
Зарегистрирован: 19 сен 2007, 07:10

вопрос по backup'у

Сообщение mystafa » 19 сен 2007, 08:06

Что имеем: IBase 5.6 + RH 9

Думаю, как лучше всего делать бэкап? Нарисовал такой план:


1. database.gdb
2. backup database.gdb -> date.gbk

gbak -b -g -v -y

3. restore date.gbk -> test.gdb

gbak -R -p 4096

4. no errors?
5. no. rm -rf test.gdb
6. restore date.gbk -> database.gdb
7. mv date.gbk /database/backup
8. yes. mail me about it.

Как на ваш взгляд, верный ли план? Как можно еще оптимизировать?

И еще вопрос задам. Иногда, бывает так, что сервер перегружен. Секунд 20, может больше - висит. Думаю - может именно в этот момент происходит сборка мусора? Вычитал здесь, чтобы отключить принудительную сборку, надо выставить `gfix -housekeeping 0`. Рационально ли это? Все равно, каждую ночь он gbak'ом собирается.

mystafa
Сообщения: 7
Зарегистрирован: 19 сен 2007, 07:10

Re: вопрос по backup'у

Сообщение mystafa » 19 сен 2007, 08:32

Или как вариант опустить "вторичный restore" и просто переименовать:
5. no. rm -rf database.gdb
6. rename test.gdb -> database.gdb
7. mv date.gbk /database/backup
8. yes. mail me about it.

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

Сообщение Dimitry Sibiryakov » 19 сен 2007, 08:34

Пункт 6 вообще выкинуть нафиг.

mystafa
Сообщения: 7
Зарегистрирован: 19 сен 2007, 07:10

Сообщение mystafa » 19 сен 2007, 08:37

То есть - просто - переименовать "свежеполученную базу" в рабочее имя?
А по самим ключам gbak'а, есть какие то советы?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 сен 2007, 10:28

Вычитал здесь, чтобы отключить принудительную сборку, надо выставить `gfix -housekeeping 0`. Рационально ли это? Все равно, каждую ночь он gbak'ом собирается.
а с чего взяли что "он", то есть мусор, каждую ночь gbak-ом собирается, при том что указан ключ -g?
www.ibase.ru/devinfo/garbage.htm#backup
А по самим ключам gbak'а, есть какие то советы?
никогда не использовать ключ -r, и не убивать оригинальную базу как минимум до тех пор пока бэкап не заресторится. Мог бы и сам догадаться.
www.ibase.ru/devinfo/db_repair.htm

mystafa
Сообщения: 7
Зарегистрирован: 19 сен 2007, 07:10

Сообщение mystafa » 19 сен 2007, 12:12

kdv писал(а):а с чего взяли что "он", то есть мусор, каждую ночь gbak-ом собирается, при том что указан ключ -g? www.ibase.ru/devinfo/garbage.htm#backup
никогда не использовать ключ -r, и не убивать оригинальную базу как минимум до тех пор пока бэкап не заресторится. Мог бы и сам догадаться.
www.ibase.ru/devinfo/db_repair.htm
Понятно. В таком случае, будет ли правильней вариант:

1. database.gdb
2. backup database.gdb -> date.gbk

gbak -b -g -v -y
gfix - sweep date.gbk

3. restore date.gbk -> test.gdb

gbak -R -p 4096

4. check for errors. clear...

a) clear

- rm -rf database.gdb
- rename test.gdb -> database.gdb
- mv date.gbk /database/backup

b) we have errors

- tell me about it

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 19 сен 2007, 14:01

Если ты собираешься каждый день делать бэкап-рестор, то свип-то тебе зачем?
После рестора ты и так чистенькую получишь, а свип в той, что убил, зря гонял.
Другое дело, если ошибка рестора будет - тогда свип что-то полезное сделает. Но стоит ли затачивать под такую ситуацию схему бэкап-рестора?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 сен 2007, 14:22

gbak -R -p 4096
вот ты прямо забодал... :)

1. зачем ты указываешь page size? сервер тупой, сам из бэкапа не может взять размер страницы?

2. ЗАБУДЬ ПРО КЛЮЧ -R. ЗАБУДЬ!!!

ресторить надо ВСЕГДА в ДРУГОЕ имя. А то находятся некоторые перцы, которые говорят - "а я перед gbak -r базу переименовываю". А если переименование обломится по каким-то причинам? Чего ж вы так любите себе на фаберже наступать-то...
- rm -rf database.gdb
- rename test.gdb -> database.gdb
вот опять. Логика где?
b) we have errors
тут уже будет поздно метаться. ты ж уже удалил оригинальную БД.

mystafa
Сообщения: 7
Зарегистрирован: 19 сен 2007, 07:10

Сообщение mystafa » 19 сен 2007, 15:55

kdv писал(а):
gbak -R -p 4096
1. зачем ты указываешь page size? сервер тупой, сам из бэкапа не может взять размер страницы?
Указываю затем, что в доках, которые мне попадались, везде это указывается. А так как сталкиваюсь с администрирование ibase впервые, считаю, что ничего страшного я не сделал. Верно? Верно. Едем дальше.
ресторить надо ВСЕГДА в ДРУГОЕ имя. А то находятся некоторые перцы, которые говорят - "а я перед gbak -r базу переименовываю". А если переименование обломится по каким-то причинам? Чего ж вы так любите себе на фаберже наступать-то...
С такой же долей частоты, обязательно находятся перцы, которые разводят пальцы :-) И из-за размаха, им тяжело читать внимательно. Смотрим сюда - database и test - буковки разные? Ресторю ВСЕГДА в ДРУГОЕ имя.
b) we have errors
тут уже будет поздно метаться. ты ж уже удалил оригинальную БД.
Да ну? С чего бы это? С подпунктами тяжко да информация воспринимается? rm -rf происходит в разделе 4a, который, срабатывает только при условии - отсутствия ошибок. Или я что, как то сложно написал?
- rm -rf database.gdb
- rename test.gdb -> database.gdb
вот опять. Логика где?
Тут, да, мог намудрить. Из чего я исходил - если я собрал мусор, проверил базу, и уже есть готовый, чистый и работающий экземпляр *.gdb, то зачем мне старый? Удаляю старый и переименовываю новый, в рабочее имя, при этом, сохраняя *.gbk.

mystafa
Сообщения: 7
Зарегистрирован: 19 сен 2007, 07:10

Сообщение mystafa » 19 сен 2007, 15:56

WildSery писал(а):Если ты собираешься каждый день делать бэкап-рестор, то свип-то тебе зачем?
После рестора ты и так чистенькую получишь, а свип в той, что убил, зря гонял.
Другое дело, если ошибка рестора будет - тогда свип что-то полезное сделает. Но стоит ли затачивать под такую ситуацию схему бэкап-рестора?
Нет, конечно не стоит, в этом случае. Спасибо!

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 сен 2007, 16:06

Указываю затем, что в доках, которые мне попадались, везде это указывается.
то есть, ситуация еще хуже - ты не знаешь что такое размер страницы, и зачем его можно указывать при restore. так?
Ресторю ВСЕГДА в ДРУГОЕ имя.
не имеет значения. когда-нибудь имя поменяется или еще что-нибудь случится. поэтому нормальный ключ -c, а не -r.
Удаляю старый и переименовываю новый, в рабочее имя, при этом, сохраняя *.gbk.
ну, если ты сам с усами, тогда я умолкаю...

mystafa
Сообщения: 7
Зарегистрирован: 19 сен 2007, 07:10

Сообщение mystafa » 19 сен 2007, 16:26

kdv писал(а):
Указываю затем, что в доках, которые мне попадались, везде это указывается.
то есть, ситуация еще хуже - ты не знаешь что такое размер страницы, и зачем его можно указывать при restore. так?
Ну ситуация - как ситуация. Повторяю еще раз - впервые сталкиваюсь с администрированием ibase.
Ресторю ВСЕГДА в ДРУГОЕ имя.
не имеет значения. когда-нибудь имя поменяется или еще что-нибудь случится. поэтому нормальный ключ -c, а не -r.
На самом деле, в рабочем скрипте, у меня стоит именно -с. Это что то я когда "план" писал, вбил -r ;-) Сорри.
Удаляю старый и переименовываю новый, в рабочее имя, при этом, сохраняя *.gbk.
ну, если ты сам с усами, тогда я умолкаю...
[/quote]Помощь и советы мне очень не помешают. Только плз без наездов и пальцекиданий.

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 19 сен 2007, 19:27

Помощь и советы мне очень не помешают. Только плз без наездов и пальцекиданий.
наезжал я правильно и по делу, а пальцы не кидал.

в любом случае, мне - можно, хотя я этим не занимаюсь.

p.s. если ты задал вопрос, и оказалось что ты спорол фигню - не надо возмущаться. Форум как раз одной из задач и имеет - показать вопрошающему его ошибки. И совершенно необязательно в мягкой форме, если ошибка того заслуживает.
Здесь не платный техсаппорт, и Вам никто ничего не должен. Как и Вы.

http://www.sql.ru/forum/actualthread.as ... 83#1991850

Ответить