InterBase - статьи


Резервное копирование базы данных и последующее восстановление - часть 2


  • Резервирование

    gbak [-B] [ключи] файл_базы_данных файл_резервной_копии

    Значение ключей:

    -g не собирать мусор во время резервного копирования;

    -l игнорировать лимбо-транзакции;

    -m резервирование только метаданных;

    -user имя пользователя;

    -password пароль пользователя;

    -v показать протоколирование во время выполнения процесса;

    -z показать версию gbak.

    Пример:
    gbak -b –user SYSDBA –password masterkey C:workwork.gdb C:workwork.gbk

    Восстановление:

    gbak [-R/-С] [ключи] файл_базы_данных файл_резервной_копии

    Ключи:

    -R восстановление базы данных в уже существующий файл;

    -С восстановление базы данных в новый файл, если файл уже существует, то процесс будет прерван с ошибкой;

    -p размер страницы (1024,2048,4196 или 8192). По умолчанию 1024;

    Пример:
    gbak -R –user SYSDBA –password masterkey C:workwork.gbk C:workwork.gdb

    Следует отметить один нюанс, если запустить утилиту gbak без ключа –B или –R/-C, то будет начат процесс резервного копирования базы данных.

    2. С помощью компонентов FIBPlus можно также программно запускать процессы резервирования и восстановления базы данных.

    Для резервирования базы данных использовался компонент TpFIBBackupService, для начала процесс нужно заполнить определенные поля в компоненте: fibBackUp.DatabaseName := edBackUpPath.Text; // указываем путь к базе данных

    fibBackUp.ServerName :=’localhost’; //имя сервера

    // создаем и указываем имя будущего файла резервной копии базы данных

    fibBackUp.BackupFile.Add(frmMain.CurrentBackUpPath + ExtractFileName(edBackUpPath.Text)

    + '_' + DateToStr(now) + '.gbk');

    fibBackUp.Params.Add('user_name=SYSDBA’);

    fibBackUp.Params.Add('password=masterkey');

    fibBackUp.Active := True; // активируем процесс

    try

    Screen.Cursor := crSQLWait;

    fibBackUp.ServiceStart; // и стартуем его

    mBackup.Lines.Add('**************** Резервное копирование начато базы: ' + dBackUpPath.Text + '****************' );

    mBackup.Lines.Add(' );

    // пока не завершится процесс выводим логии о процессе, для того чтобы логии отображались нужно
    свойство Verbose поставить в значение TRUE




    - Начало -  - Назад -  - Вперед -