Восстановление данных Oracle с помощью сценариев

Восстановление данных Oracle с помощью сценариев#

Восстановление резервной копии RMAN из резервной копии на уровне файлов

Выполните эту операцию в следующих ситуациях:

  • Последняя резервная копия RMAN потеряна или повреждена.

  • Необходимо восстановить базу данных до состояния на предыдущий момент времени.

Порядок восстановления:

Выполните действия, как описано в разделе Восстановление файлов с помощью веб-интерфейса.

Восстановление данных Oracle с резервной копии RMAN

Аварийное восстановление базы данных Oracle

Этот метод применяется для восстановления всего сервера или диска, на котором установлена Oracle Database при отсутствии ее резервной копии на уровне дисков. Этот метод делает базу данных согласованной с состоянием резервной копии RMAN.

Порядок восстановления:

  1. Переустановите операционную систему или перейдите на другой сервер, который работает надлежащим образом. Если операционная система работает нормально, пропустите этот шаг.

  2. Переустановите Oracle Database.

  3. Создайте новую базу данных с тем же именем и в том же месте, как и та, которую необходимо восстановить.

  4. Восстановите нужную резервную копию RMAN из резервной копии на уровне файлов, как описано ранее в этом разделе.

    При выполнении восстановления с самой последней резервной копии RMAN, которая не повреждена, пропустите этот шаг.

  5. [В Windows] В командной строке введите cd <папка расположения сценариев>.

    [В Linux] В терминале введите cd /<папка расположения сценариев>.

  6. Запустите файл restore_disaster.bat (в Windows) или restore_disaster.sh (в Linux).

Полное восстановление базы данных

Используйте этот метод, если база данных не работает или повреждена после создания последней резервной копии. Чтобы воспользоваться этим методом, контрольный файл и файл параметров сервера должны быть неповрежденными.

Порядок восстановления:

  1. Восстановите нужную резервную копию RMAN из резервной копии на уровне файлов, как описано ранее в этом разделе.

    При выполнении восстановления с самой последней резервной копии RMAN, которая не повреждена, пропустите этот шаг.

  2. [В Windows] В командной строке введите cd <папка расположения сценариев>.

    [В Linux] В терминале введите cd /<папка расположения сценариев>.

  3. Запустите файл restore_datafiles.bat (в Windows) или restore_datafiles.sh (в Linux).

Восстановление контрольного файла

Используйте этот метод, если контрольный файл потерян или поврежден после создания последней резервной копии.

Порядок восстановления:

  1. Восстановите нужную резервную копию RMAN из резервной копии на уровне файлов, как описано ранее в этом разделе.

    При выполнении восстановления с самой последней резервной копии RMAN, которая не повреждена, пропустите этот шаг.

  2. [В Windows] В командной строке введите cd <папка расположения сценариев>.

    [В Linux] В терминале введите cd /<папка расположения сценариев>.

  3. Запустите файл restore_controlfile.bat (в Windows) или restore_controlfile.sh (в Linux).

  4. Создайте полную резервную копию.

    При восстановлении контрольного файла журналы сбрасываются, поэтому следующая резервная копия должна быть полной.

Восстановление по состоянию на настраиваемый момент времени (неполное восстановление)

Этот метод позволяет восстановить базу данных на настраиваемый момент времени (Point-in-Time Recovery, PITR). Этот момент времени можно указать следующими способами:

  • Точная дата и время. Доступный диапазон от момента создания резервной копии RMAN до текущего момента.

  • Номер системного изменения (SCN). Доступный диапазон от времени, записанного в файле scn.in до последнего значения времени, доступного в архивированных журналах.

    Файл scn.in хранится в папке с резервными копиями RMAN. Как правило, SCN в этом файле несет информацию о моменте времени последней резервной копии.

    Чтобы узнать последнее значение SCN из архивированных журналов, выполните следующие действия:

    1. В командной строке (в Windows) или в терминале (в Linux) введите sqlplus / as sysdba, чтобы войти в Oracle.

    2. Введите select max(next_change#)-1 from v$archived_log;

Порядок восстановления:

  1. Восстановите нужную резервную копию RMAN из резервной копии на уровне файлов, как описано ранее в этом разделе. Это приведет к перезаписи файла scn.in.

    При выполнении восстановления с самой последней резервной копии RMAN, которая не повреждена, пропустите этот шаг.

  2. [В Windows] В командной строке введите cd <папка расположения сценариев>.

    [В Linux] В терминале введите cd /<папка расположения сценариев>.

  3. Выполните любое из следующих действий:

    • Чтобы выполнить восстановление на определенный момент времени, запустите restore_to-point-in-time.bat <момент времени> (в Windows) или restore_to-point-in-time.sh<момент времени> (в Linux).

      Переменная <момент времени> должна быть указана в следующем формате: yyyy-mm-dd:hh24:mi:ss.

    • Чтобы выполнить восстановление по состоянию на определенный SCN, запустите restore_to-scn.bat <SCN> (в Windows) или restore_to-scn.sh <SCN> (в Linux).

    Если дата и время (SCN) не указаны, восстановление выполняется на момент времени, который определен номером SCN, указанным в файле scn.in.

  4. Создайте полную резервную копию.

    При неполном восстановлении журналы сбрасываются, поэтому следующая резервная копия должна быть полной.