Удаление теневой копии
Удаление теневой копии
Теневую копию нужно удалять в следующих ситуациях:
* это "ручная" теневая копия, которая по разным причинам была отключена от системы. Удаление ненужной теневой копии является необходимым для создания новой теневой копии и возобновления обслуживания базы данных;
* это безусловная автоматическая теневая копия, которая была отключена из-за некоторых системных событий. Ее нужно пересоздать для восстановления ее целостности;
* вам нужно изменить размеры файлов теневой копии, добавить больше файлов или установить новую теневую копию с другими атрибутами;
* теневое копирование больше не требуется. Удаление теневой копии означает отключение теневого копирования.
Удаление теневой копии удаляет не только физические файлы, но также и ссылки на нее из метаданных базы данных. Чтобы иметь право на выполнение этой команды, вы должны быть соединены с базой данных как пользователь, который создал теневую копию, пользователь SYSDBA или (в POSIX) пользователь с привилегиями операционной системы root.
Синтаксис
Используйте следующий синтаксис DROP SHADOW:
DROP SHADOW номер-набора-теневой-копии;
Номер набора теневой копии является обязательным аргументом команды DROP SHADOW. Для отыскания этого номера используйте в isql команду SHOW DATABASE, будучи подключенным к этой базе данных.
В следующем примере удаляются все файлы, связанные с набором оперативной копии за номером 25:
DROP SHADOW 25;
Использование gfix-переключателя -kill
Служебная утилита командной строки gfix (см. главу 39) имеет переключатель -kill, который внутренне вызывает команду DROP SHADOW, чтобы удалить теневую копию и сделать ее недоступной. После выполнения этой команды можно будет продолжить создание новых теневых копий.
Например, для удаления недоступной теневой копии нашей базы данных employee в POSIX наберите:
[root@coolduck bin]# ./gfix -kill ../examples/employee.gdb -user SYSDBA
-password masterkey
В Win32 наберите:
C:Program FilesFirebirdin> gfix -kill ..examplesemployee.gdb
-user SYSDBA -password masterkey