Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
repair [2014/05/26 20:29] sd старая ревизия восстановлена (2014/05/26 16:27) |
repair [2020/04/07 16:18] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
Восстановление поврежденной базы данных Firebird | Восстановление поврежденной базы данных Firebird | ||
+ | <WRAP center round important 100%> | ||
ВАЖНО! Перед началом восстановления убедитесь что все пользователи отключены от сервера и сделайте копию файла базы данных. Если нет доступа ко всем компьютерам в сети на которых запущены приложения подключенные к базе данных, | ВАЖНО! Перед началом восстановления убедитесь что все пользователи отключены от сервера и сделайте копию файла базы данных. Если нет доступа ко всем компьютерам в сети на которых запущены приложения подключенные к базе данных, | ||
+ | </ | ||
+ | |||
Войдите в каталог Bin в папке, куда был установлен сервер Firebird. Для того, чтобы не работать с " | Войдите в каталог Bin в папке, куда был установлен сервер Firebird. Для того, чтобы не работать с " | ||
Строка 7: | Строка 10: | ||
Проверим базу данных на наличие повреждений: | Проверим базу данных на наличие повреждений: | ||
- | gfix -v -full -user SYSDBA -pas masterkey a4on_db.fdb | + | **'' |
вместо gdbase.gdb укажите полный путь к своему файлу базы данных (хорошая идея: для того чтобы не обременять себя вводом длинного пути, скопировать файл базы данных непосредственно в каталог BIN). Имя сервера указывать не надо! | вместо gdbase.gdb укажите полный путь к своему файлу базы данных (хорошая идея: для того чтобы не обременять себя вводом длинного пути, скопировать файл базы данных непосредственно в каталог BIN). Имя сервера указывать не надо! | ||
Строка 15: | Строка 18: | ||
Если есть повреждения, | Если есть повреждения, | ||
- | gfix -mend -full -ignore -user SYSDBA -pas masterkey a4on_db.fdb | + | **'' |
Проверим, | Проверим, | ||
- | gfix -v -full -user SYSDBA -pas masterkey a4on_db.fdb | + | '' |
Если повреждения остались, | Если повреждения остались, | ||
- | gbak -b -v -ig -g -user SYSDBA -pas masterkey a4on_db.fdb db.fbk | + | '' |
Здесь применены следующие ключи: | Здесь применены следующие ключи: | ||
Строка 32: | Строка 35: | ||
-g -- запретить сборку мусора при чтении из базы. | -g -- запретить сборку мусора при чтении из базы. | ||
- | gbak -c -v -user SYSDBA -pas masterkey db.fbk a4on_new.fdb | + | '' |
- | + | ||
- | Обратите внимание, | + | |
При серьезных повреждениях базы данных в некоторых таблицах могут пропасть записи из-за чего не восстановятся внешние ссылки на эти таблицы. Или наоборот, | При серьезных повреждениях базы данных в некоторых таблицах могут пропасть записи из-за чего не восстановятся внешние ссылки на эти таблицы. Или наоборот, | ||
Строка 40: | Строка 41: | ||
Спасти базу можно следующим образом: | Спасти базу можно следующим образом: | ||
- | gbak -c -i -user SYSDBA -pas masterkey db.fdb a4on_new.fdb | + | '' |
Затем, с помощью любой оболочки, | Затем, с помощью любой оболочки, | ||
Строка 48: | Строка 49: | ||
Пример команды с вышеупомянутыми ключами: | Пример команды с вышеупомянутыми ключами: | ||
- | gbak -c -i -n -o -user SYSDBA -pas masterkey db.fdb a4on_new.fdb | + | '' |
+ | |||
+ | Как и в предыдущем случае, | ||
- | Как и в предыдущем случае, | + | Дополнительно о восстановлении базы можно почитать на сайте IBase.ru [[http:// |