Полное восстановление на открытой и закрытой БД. Шаги восстановления. Методы полного восстановления

Страницы работы

Содержание работы

1.4.12. Полное восстановление на открытой и закрытой БД.

Шаги восстановления:

1. Поврежденные и потерянные файлы восстанавливаются из резерва.

2. Если это необходимо, применяются изменения из архивных и оперативных журналов, В то же время генерируются блоки отмены. Этот шаг принято называть подкатом вперед или восстановлением кэша буферов.

3. База данных может теперь содержать как зафиксированные, так и незафиксированные изменения.

4. Блоки отмены используются для отката назад любых незафиксированных изменений. Этот шаг принято называть откатом назад или восстановлением транзакции,

5. База данных теперь в восстановленном состоянии.

Методы полного восстановления

Метод 1: Восстановление при закрытой базе данных

Метод применяется в следующих случаях:

• База данных не обязательно должна работать без перерыва 24 часа в сутки, 7 дней в неделю.

• Восстановленные файлы относятся к системному табличному пространству либо табличному пространству сегментов отмены.

Требуется восстановление всей базы данных либо большинства файлов.

Метод 2: Восстановление открытой базы данных, изначально открытой

Этот метод восстановления обычно используется в следующих ситуациях:

• Произошло повреждение файла, случайная потеря файла либо сбой носителя, что не привело к завершению работы базы данных.

• База данных должна работать без перерыва 24 часа в сутки, 7 дней в неделю. Время, в течение которого база данных недоступна, должно быть сведено к минимуму.

• Восстановленные файлы не относятся к системному табличному пространству либо табличному пространству сегментов отмены.

Метод 3: Восстановление открытой базы данных, изначально закрытой

Этот метод восстановления обычно используется в следующих ситуациях:

• Сбой носителя либо аппаратного обеспечения привел к остановке работы системы.

• База данных должна работать без перерыва 24 часа в сутки, 7 дней в неделю. Время, в течение которого база данных недоступна, должно быть сведено к минимуму.

• Файлы, восстановленные из резервной копии, не относятся к системному табличному пространству либо табличному пространству сегментов отмены.

Метод 4: Восстановление файла данных при отсутствии резервной копии

Этот метод восстановления обычно используется в следующих ситуациях:

• Сбой носителя либо ошибка пользователя привели к потере файла данных, который никогда не резервировали или резервировали до операции RESETLOGS.

Имеются все архивные журналы, сформированные с момента создания файла.

• Файлы, восстановленные из резервной копии, не относятся к системному табличному пространству либо табличному пространству сегментов отмены.

Пример восстановления при закрытой базе данных

1. Если экземпляр еще не остановлен, введите команду SHUTDOWN в следующем виде:

SQL> SHUTDOWN ABORT

2. Скопируйте файл из резерва (если возможно, самую последнюю копию):

copy c: \backup\dfl.dbf d:\data\

3. Запустите экземпляр в режиме Mount и восстановите файл данных:

SQL> STARTUP MOUNT

SQL> RECOVER DATABASE

Для приведения файла данных к состоянию на момент сбоя применяются все необходимые архивные и оперативные журналы.

4. После завершения восстановления все файлы синхронизированы. Откройте базу данных.

SQL> ALTER DATABASE OPEN;

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

Пример восстановления при открытой базе данных, изначально открытой

SQL> SELECT file_id f#, file_name,

2> tablespace_name  tablespace, status

2>  FROM dba_data_files;

F#      FILE_NAME                      TABLESPACE     STATUS

1     /diskl/data/system0l.dbf           SYSTEM            AVAILABLE (доступный)

2     /disk2/data/df2.dbf                   USER_DATA    AVAILABLE

3     /diskl/data/rbs0l.dbf                 RBS                    AVAILABLE

1.  Выполните следующий запрос, чтобы выяснить, нужно ли переводить файл данных 2 в автономное состояние:

SQL> SELECT d.fileft f#, d.name, d.status, h.status

2> FROM v$datafile d, v$datafile_header h

3> WHERE d.file# = h.file#;

F#    D.NAME                      D.STATUS    H.STATUS

1     /diskl/data/system0l.dbf   SYSTEM      ONLINE

2     /disk2/data/df2.dbf           RECOVER   OFFLINE

3     /diskl/data/rbs_01.dbf      ONLINE       ONLINE

В данном случае файл уже переведен в автономное состояние автоматически сервером Oracle.

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

copy c: \backup\df2 .dbf d:\data\

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

SQL> RECOVER DATAFILE '/disk2/backup/df2.dbf ';

4.  После завершения восстановления все файлы синхронизированы. Файл данных переводится в оперативное состояние:

SQL> ALTER DATABASE DATAFILE '/disk2/data/df2.dbf ' ONLINE;

Пример восстановления при открытой базе данных

1. Монтируется база данных. Открыть ее нельзя, поскольку файл данных 2 не может быть открыт.

SQL> STARTUP MOUNT

Database mounted.

2. Если файл данных не находится в автономном состоянии, то базу данных   нельзя будет открыть. Поэтому файл должен находиться в автономном состоянии. В результате запроса V$DATAFILE выяснилось, что файл находится в оперативном состоянии. Далее необходимо выполнить следующую команду:

SQL> ALTER DATABASE datafile '/disk2/data/df2.dbf ' offline;

Примечание: команда ALTER TABLESPACE в данном случае неприменима, поскольку база данных еще не открыта.

3. Теперь можно открыть базу данных для доступа пользователей:

SQL> ALTER DATABASE OPEN;

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

copy с : \backup\df2.dbf e:\data\

Далее нужно проинформировать сервер Oracle о новом местоположении файла:

SQL> ALTER DATABASE RENAME  file '/disk2/data/df2.dbf '

2> TO '/disk3/data/df2.dbf ';

5. Для применения архивных и оперативных журналов к файлу данных, восстановленному из резервной копии, используются команды RECOVER либо ALTER DATABASE RECOVER.

SQL> RECOVER DATAFILE '/disk3/data/df2.dbf '

6. После завершения восстановления все файлы синхронизированы. Файл данных переводится в оперативное состояние :

SQL> ALTER DATABASE datafile '/disk3/data/df2.dbf ' online;

Похожие материалы

Информация о работе