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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

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

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;

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

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

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.