Sybase backup guide


Tagged , ,

По служебной надобности послали меня читать маны от СУБД Sybase дабы бэкапить и восстанавливать базы. В общем решил я тут разместить свой перевод данных глав. Итак начнем.

Backup в СУБД Sybase.

Backup вашей базы данных.

Полный backup делает копию файла базы данных и копию журнала транзакций. Инкрементный backup делает копию журнала транзакций.
Оба типа бэкапов могут быть осуществлены в онлайн и оффлайн режимах. Вы можете сохранять ваши резервные копии на дискеты, оптические диски, или на любые другие устройства.

Онлайн backup

Суть отнлайн бэкапа заключается в том что он может быть произведен без остановки СУБД. Утилиты для резервного копирования могут быть запущены как локально так и с сетевого сервера баз данных. Использование утилит резервного копирования на рабочей базе данных эквивалентно копированию файлов базы данных, когда база данных не запущена.

Полное описание онлайн утилит смотрите тут

Оффлайн backup

СУБД не должен быть запущен, когда вы делаете оффлайн backup, копируя файлы базы данных. Кроме того СУБД должен быть выключен полностью.
Если вы работаете с многопользовательской базой данных, вы можете использовать опцию –t в командной строке для остановки базы данных в указанное время. Таким образом вы можете настроить вашу оффлайн процедуру резервного копирования выполнятся автоматически, ночью.

Выполнение полного резервного копирования.

Проверка корректности базы данных.

До того как делать полный backup, было бы не плохо сделать проверку вашего файла базы данных на ошибки. Ошибки файловой системы или программные ошибки (баги) в любых программах запущенных на вашем сервере могут повредить маленькую часть файла базы данных без вашего ведома.

В СУБД вашей базы данных идут встроенные утилиты для проверки базы данных на ошибки. В SQL Anywhere есть консольная утилита DBVALID:

dbvalid –c «uid=dba;pwd=sql»

так же вы можете запустить процесс проверки из SQL Central или ISQL.
Утилиты проверки сканируют все записи во всех таблицах и проверяет каждую запись в каждом индексе таблицы. Если файл базы данных поврежден, вам надо восстановить его с предыдущего бэкапа.

Резервное копирование файлов базы данных.

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

Для того чтобы делать backup на рабочей базе данных, вы должны использовать специальные backup утилиты. Вас требуются DBA полномочия для запуска резервного копирования базы данных. Backup утилиты могут быть запущены из SQL Central, ISQL, или использовать консольную утилиту dbbackup.

Например, вам надо сделать полный backup базы данных, которая находится в C:PBEXPSDEMODB.DB в директорию E:BACKUP, используя user ID dba и пароль sql.

Для полного резервного копирования введите следующую команду:

dbbackup –c «uid=dba;pwd=sql; dbf=c:\pbexpsdemodb.db» e:\backup

Если ключи –d или –t не определены, то будут сохранены файл базы данных и журнал транзакций.

Опции журнала транзакций.

Когда файл базы данных сохранен, журнал транзакций может быть заархивирован и/или удален (используйте стирающие утилиты). При условии, что backup может быть восстановлен, вам не понадобится журнал транзакций. Архивы с журналами транзакций предоставят вам историю всех изменений в базе данных, а также обеспечат защиту, если вы не сможете восстановить последнюю полную резервную копию. Утилита резервного копирования имеет параметры командной строки, для удаления и перезапуска журнал транзакций (DBBACKUP -х) или для резервного копирования и перезапуска (DBBACKUP -r), при запущенной СУБД.

Храните несколько полных бэкапа.

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

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

Выполнение инкрементного бэкапа.

Инкрементный бэкап – это копия журнала транзакций. Журнал транзакций содержит все изменения со времени последней полной резервной копии.

Вы можете выполнить оффлайн инкрементный backup сделав копию журнала транзакций. В альтернативе вы можете сделать оффлайн инкрементный backup, запустив утилиту для резервного копирования и сделав резервную копию журнала транзакции. Вы можете сделать это с помощью консольной утилиты dbbackup с ключом –t, или других утилит входящих в состав SQL Central или ISQL. Вам нужно иметь полномочия DBA для резервного копирования.

Например, вам надо сделать инкрементный backup базы, находящейся в C:\PBEXPSDEMODB.DB, в директорию E:\BACKUP, с user ID dba и паролем sql.

Для того чтобы выполнить его наберите следующие команды:

dbbackup -c «uid=dba;pwd=sql; dbf=c:\pbexpsdemodb.db» -t e:\backup

Ежедневный backup журнала транзакций.

Вы должны делать backup журнала транзакций ежедневно. Это особенно важно, если вы храните журнал транзакций на том же устройстве что и файл базы данных. В случае какого то сбоя, вы можете потерять оба файла. Однако делая ежедневный backup журнала транзакций, вы потеряете изменения в вашей базе данных больше чем за один день.

Ежедневный backup журнала транзакций также рекомендуется, в ситуации, когда он(журнал) слишком быстро разрастается между полными бэкапами и у вас нет желания приобретать дополнительное устройство хранения или делать полные бэкапы чаще. В этом случае вы можете архивировать и удалять журнал транзакций.

Однако существует недостаток в удалении журналов транзакций после резервного копирования. Если у вас случился сбой в файле базы данных, останется несколько журналов транзакций более свежих, чем файл базы данных. Для того чтобы привести базу в актуальное состояние надо каждый файл транзакций применить на файл базы данных.

Далее поговорим о восстановлении. Продолжение следует…

Share:

No comments

RSS / trackback

Respond