Как быстро восстановить чистую базу данных с помощью точки восстановления Oracle

摘要: Наша задача — предоставлять решения, которые упрощают ИТ-инфраструктуру. Для ее реализации мы создаем решения для баз данных, специализированные проекты, динамические центры обработки данных и гибкие вычислительные системы. ...

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

Применяется к: 

База данных Oracle: 11gR2


Проблема: 


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


Решение. 


В этой статье описано, как использовать функцию flashback Oracle для быстрого восстановления состояния базы данных, которое существовало перед рабочей нагрузкой. В частности, в этой статье описан порядок использования «гарантированных точек восстановления».


Точка восстановления 

Точка восстановления — это только имя, связанное с меткой времени или SCN базы данных. Можно создать обычную или гарантированную точку восстановления. Разница между этими двумя заключается в том, что гарантированная точка восстановления позволяет вернуться к восстанавливаемому состоянию независимо от значения параметра инициализации DB_FLASHBACK_RETENTION_TARGET, т. е. она всегда доступна (если достаточно места в области быстрого восстановления).

 
SLN310475_en_US__1icon ПРИМЕЧАНИЕ. В этой статье ведение журнала Flashback не было включено.

Гарантированная точка восстановления

Предварительные условия. Создание гарантированной точки восстановления требует соблюдения следующих предварительных условий:
  • пользователь должен иметь системные привилегии SYSDBA,
  • необходимо создать область быстрого восстановления,
  • база данных должна быть в режиме ARCHIVELOG.

Создание гарантированной точки восстановления

После создания или переноса свежей базы данных, прежде всего необходимо создать гарантированную точку восстановления, чтобы можно было вернуться к ней перед каждой новой рабочей нагрузкой. Порядок действий:
  1. $> su – oracle
  2. $> sqlplus / as sysdba;
  3. Проверьте, включен ли ARCHIVELOG
    SQL> select log_mode from v$database;
    Если на шаге 3 указано, что ARCHIVELOG не включен, перейдите к шагу 8 ниже.
  4. SQL> shutdown immediate;
  5. SQL> startup mount;
  6. SQL> alter database archivelog;
  7. SQL> alter database open;
  8. SQL> create restore point CLEAN_DB guarantee flashback database;
    где CLEAN_DB — имя, заданное для гарантированной точки восстановления.
Просмотр гарантированной точки восстановления
SQL> select * from v$restore_point;

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


Возврат к гарантированной точке восстановления

Теперь, чтобы вернуть базу данных к гарантированной точке восстановления, выполните следующие действия:
  1. $> su – oracle
  2. $> sqlplus / as sysdba;
  3. SQL> select current_scn from v$database;
  4. SQL> shutdown immediate;
  5. SQL> startup mount;
  6. SQL> select * from v$restore_point;
  7. SQL> flashback database to restore point CLEAN_DB;
  8. SQL> alter database open resetlogs;
  9. SQL> select current_scn from v$database;
Сравните SCN#, полученный на шаге 9 выше, со справочным SCN#.

 
SLN310475_en_US__1icon ПРИМЕЧАНИЕ. Номер SCN, начиная с шага 9 выше, может не полностью совпадать со справочным номером SCN, но он будет достаточно похож.

Справочные материалы: 


文章属性
文章编号: 000146492
文章类型: Solution
上次修改时间: 21 2月 2021
版本:  3
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。