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