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;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.