вопрос по backup'у
Модераторы: kdv, Alexey Kovyazin
вопрос по backup'у
Что имеем: 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'ом собирается.
Думаю, как лучше всего делать бэкап? Нарисовал такой план:
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'ом собирается.
Re: вопрос по backup'у
Или как вариант опустить "вторичный 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.
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
а с чего взяли что "он", то есть мусор, каждую ночь gbak-ом собирается, при том что указан ключ -g?Вычитал здесь, чтобы отключить принудительную сборку, надо выставить `gfix -housekeeping 0`. Рационально ли это? Все равно, каждую ночь он gbak'ом собирается.
www.ibase.ru/devinfo/garbage.htm#backup
никогда не использовать ключ -r, и не убивать оригинальную базу как минимум до тех пор пока бэкап не заресторится. Мог бы и сам догадаться.А по самим ключам gbak'а, есть какие то советы?
www.ibase.ru/devinfo/db_repair.htm
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
вот ты прямо забодал...gbak -R -p 4096
1. зачем ты указываешь page size? сервер тупой, сам из бэкапа не может взять размер страницы?
2. ЗАБУДЬ ПРО КЛЮЧ -R. ЗАБУДЬ!!!
ресторить надо ВСЕГДА в ДРУГОЕ имя. А то находятся некоторые перцы, которые говорят - "а я перед gbak -r базу переименовываю". А если переименование обломится по каким-то причинам? Чего ж вы так любите себе на фаберже наступать-то...
вот опять. Логика где?- rm -rf database.gdb
- rename test.gdb -> database.gdb
тут уже будет поздно метаться. ты ж уже удалил оригинальную БД.b) we have errors
Указываю затем, что в доках, которые мне попадались, везде это указывается. А так как сталкиваюсь с администрирование ibase впервые, считаю, что ничего страшного я не сделал. Верно? Верно. Едем дальше.kdv писал(а):1. зачем ты указываешь page size? сервер тупой, сам из бэкапа не может взять размер страницы?gbak -R -p 4096
С такой же долей частоты, обязательно находятся перцы, которые разводят пальцы И из-за размаха, им тяжело читать внимательно. Смотрим сюда - database и test - буковки разные? Ресторю ВСЕГДА в ДРУГОЕ имя.ресторить надо ВСЕГДА в ДРУГОЕ имя. А то находятся некоторые перцы, которые говорят - "а я перед gbak -r базу переименовываю". А если переименование обломится по каким-то причинам? Чего ж вы так любите себе на фаберже наступать-то...
Да ну? С чего бы это? С подпунктами тяжко да информация воспринимается? rm -rf происходит в разделе 4a, который, срабатывает только при условии - отсутствия ошибок. Или я что, как то сложно написал?тут уже будет поздно метаться. ты ж уже удалил оригинальную БД.b) we have errors
- rm -rf database.gdb
- rename test.gdb -> database.gdb
Тут, да, мог намудрить. Из чего я исходил - если я собрал мусор, проверил базу, и уже есть готовый, чистый и работающий экземпляр *.gdb, то зачем мне старый? Удаляю старый и переименовываю новый, в рабочее имя, при этом, сохраняя *.gbk.вот опять. Логика где?
Нет, конечно не стоит, в этом случае. Спасибо!WildSery писал(а):Если ты собираешься каждый день делать бэкап-рестор, то свип-то тебе зачем?
После рестора ты и так чистенькую получишь, а свип в той, что убил, зря гонял.
Другое дело, если ошибка рестора будет - тогда свип что-то полезное сделает. Но стоит ли затачивать под такую ситуацию схему бэкап-рестора?
то есть, ситуация еще хуже - ты не знаешь что такое размер страницы, и зачем его можно указывать при restore. так?Указываю затем, что в доках, которые мне попадались, везде это указывается.
не имеет значения. когда-нибудь имя поменяется или еще что-нибудь случится. поэтому нормальный ключ -c, а не -r.Ресторю ВСЕГДА в ДРУГОЕ имя.
ну, если ты сам с усами, тогда я умолкаю...Удаляю старый и переименовываю новый, в рабочее имя, при этом, сохраняя *.gbk.
Ну ситуация - как ситуация. Повторяю еще раз - впервые сталкиваюсь с администрированием ibase.kdv писал(а):то есть, ситуация еще хуже - ты не знаешь что такое размер страницы, и зачем его можно указывать при restore. так?Указываю затем, что в доках, которые мне попадались, везде это указывается.
На самом деле, в рабочем скрипте, у меня стоит именно -с. Это что то я когда "план" писал, вбил -r Сорри.не имеет значения. когда-нибудь имя поменяется или еще что-нибудь случится. поэтому нормальный ключ -c, а не -r.Ресторю ВСЕГДА в ДРУГОЕ имя.
[/quote]Помощь и советы мне очень не помешают. Только плз без наездов и пальцекиданий.ну, если ты сам с усами, тогда я умолкаю...Удаляю старый и переименовываю новый, в рабочее имя, при этом, сохраняя *.gbk.
наезжал я правильно и по делу, а пальцы не кидал.Помощь и советы мне очень не помешают. Только плз без наездов и пальцекиданий.
в любом случае, мне - можно, хотя я этим не занимаюсь.
p.s. если ты задал вопрос, и оказалось что ты спорол фигню - не надо возмущаться. Форум как раз одной из задач и имеет - показать вопрошающему его ошибки. И совершенно необязательно в мягкой форме, если ошибка того заслуживает.
Здесь не платный техсаппорт, и Вам никто ничего не должен. Как и Вы.
http://www.sql.ru/forum/actualthread.as ... 83#1991850