Инструменты пользователя

Инструменты сайта


gbak

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
gbak [2011/01/21 14:02]
85.21.5.173
gbak [2013/04/12 10:34] (текущий)
83.149.35.27 [Описание]
Строка 1: Строка 1:
 +====== gbak ======
  
 +
 +===== Версии сервера =====
 +ВСЕ
 +
 +===== Формат =====
 +gbak  -b [backup option ...]  [common option ...]  source target
 +
 +gbak  -c|-r [restore option ...]  [common option ...]  source target
 +
 +(-c|-r означает,​ что при вызове gbak нужно использовать либо -c, либо -r, но не вместе.)
 +
 +===== Описание =====
 +
 +gbak утилита Firebird для управления резервными копиями ​
 +
 +В режиме бекапа **source** это путь к существующей БД (может включать имя сервера и\или альяс), ​
 +а **target** файл резервной копии, это также может быть специальное устройство например /dev/stdout (для отправки резервной копии в STDOUT) или /dev/st для отправки на кассету.
 +
 +В режиме востановления **source** это существующая резервная копия (или специальное устройство /​dev/​stdin,/​dev/​st),​
 +а **target** путь к БД (может включать имя сервера и\или альяс).
 +
 +Все опции могут быть сокращены.
 +
 +== COMMON OPTIONS ==
 +
 +-user username ​
 + ​Пользователь для подключения к БД.
 +       
 +-ro[le] ​
 + ​Роль подключения к БД
 +
 +-pas[sword] password
 + ​Пароль подключения к БД
 +
 +-se[rvice]
 + ​Использовать сервисный менеджер при работе с БД. (Позволяет работать с security2.fdb)
 +
 +-v[erify]
 + ​Выводить отчет о каждом действии.
 +
 +-y path
 + ​Перенаправлять сообщения в заданный путь.
 +
 +-z
 + ​Сообщить полную версию.
 +
 +
 +== BACKUP OPTIONS ==
 +
 +-b[ackup_database]
 + ​Сделать резервную копию.
 +
 +-co[nvert]
 + ​Конвертировать внешние (external) таблицы в обычные. Без данной опции внешние таблицы игнорируются при резервном копировании.
 +
 +-fa[ctor]
 + ​blocking factor (древний параметр,​ использовавшийся при бэкапе на магнитные ленты)
 +
 +-g[arbage_collect]
 + не производить сборку мусора. Рекомендуемая опция.
 +
 +-ig[nore]
 + ​Игнорировать записи не прошедшие контрольную сумму. Эта опция должна использоваться только при поврежденной БД.
 +
 +-l[imbo]
 + ​Игнорировать транзакции в limbo. Изменения,​ произведенные незавершенными транзакциями двухфазного коммита,​ будут игнорироваться.
 +
 +-m[etadata_only]
 + ​Сохранять только метаданные.
 +
 +-nt
 + ​Использовать не переносимый формат файла. По умолчанию формат "​переносимый"​. Под переносимостью понимается перенос с одной аппаратной платформы на другую (с разной последовательностью младших и старших байт в целых числах).
 +
 +-ol[d_descriptions]
 + ​Сохранять описания объектов в старом (InterBase 3.3) стиле.
 +
 +
 +== RESTORE OPTIONS ==
 +
 +-c[reate_database]
 + ​Восстановить БД. Если файл БД существует,​ будет выдана ошибка.
 +
 +-r[eplace_database]
 + ​Восстановить БД, с перезаписью существующего файла БД.:!: Начиная с Firebird 2.0 требуется указание или полного имени параметра (-replace_database),​ или параметра o[verwrite] (-r o).
 +
 +-bu[ffers] num
 + ​Установить размер кэша, который будет использовать сервер для этой БД (в этом случае опция конфига DefaultDbCachePages будет игнорироваться).
 +
 +-e[xpand]
 + ​Отключает компрессию RLE для строк.
 +
 +-i[nactive]
 + Не активировать индексы (все).
 +
 +-k[ill]
 + Не восстанавливать теневую копию.
 +
 +-mo[de] access
 + ​Востановить БД с заданным типом доступа. Возможные варианты read_only и read_write.
 +
 +-n[o_validity]
 + ​Восстанавливать БД без проверки constraints.
 +
 +-o[ne_at_a_time]
 + ​Делать commit после восстановления каждой таблицы. FIXME
 +
 +-p[age_size] num
 + ​Задать новый размер страницы. Возможные значения 1024, 2048, 4086, 8192, 16384. С Firebird 2.0 FIXME размеры страницы 1024 и 2048 игнорируются,​ база создается всегда с размером страницы не менее 4096 байт. ​
 +
 +-use_[all_space]
 + Не оставлять резервное место на страницах данных. Рекомендуется только для read_only баз данных.
 +
 +== Востановление многофайловой БД ==
 +
 +:!: многофайловые базы данных - атавизм,​ использовать не рекомендуется для Firebird 1.0 и выше.
 +
 +При востановлении многофайловой БД **target** будет выглядеть так : file_1 pages_1 ​  ​file_2 pages_2 ...  file_N-1 pages_N-1 ​  ​file_N
 +
 +Каждый pages_n ​ показывает как много страниц будет помещенно в файл file_n.
 +В последний файл (без указания размера) будут помещенный все страницы которые не поместились в файл file_N-1. ​
 +:!: Помните что pages_n измеряется в страницах,​ а не в байтах. и зависит от размера страницы.
 +
 +Например вам надо разбить БД на куски по 2Гб.
 +Если размер страницы 8192, то каждый файл может иметь максимум 2*1024*1024*1024/​8192 = 262144 pages.
 +
 +== Переменные окружения ==
 +
 +ISC_USER параметр по умолчанию для опции -user
 +
 +ISC_ROLE параметр по умолчанию для опции -role 
 +
 +ISC_PASSWORD параметр по умолчанию для опции -password ​
 +
 +
 +===== Пример =====
 +<code sql>gbak -b db-srv:/​database.fdb /dev/stdout | gzip > /​file.fbk.gz</​code>​
 +
 +<code sql>zcat /​file.fbk.gz | gbak -c /dev/stdin db-srv:/​new-database.fdb</​code>​
 +
 +<​file>​
 +#!/bin/bash
 +PATH=/​opt/​firebird/​bin:​${PATH}
 +bkpath=/​opt/​acbase/​backup ​
 +
 +curdate=`date +%F`
 +echo `date` start backuping data
 +gbak -B -G -user SYSDBA -pass sysdba localhost:​employee $bkpath/​emp_$curdate.fbk
 +echo `date +%X` backup successfully
 +echo `date +%X` compressing
 +gzip $bkpath/​emp_$curdate.fbk
 +echo `date +%X` compress ok
 +
 +find $bkpath/​emp_* -type f -mtime +4 -delete
 +echo `date +%X` remove old file
 +</​file>​
 +
 +===== См. также =====
 +[[nbackup]]
 +
 +===== Источник =====
 +man gbak
gbak.txt · Последние изменения: 2013/04/12 10:34 — 83.149.35.27