Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Oracle University Official Study Notes (RUS) > База данных Oracle 10g Администрирование > База данных Oracle 10g Администрирование II

Ответ
 
Опции темы Опции просмотра
  #11  
Старый 03.10.2009, 03:22
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,384
По умолчанию Типы неполного восстановления



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

Восстановление по времени
С помощью фразы UNTIL TIME задается момент времени, до которого необходимо восстановить базу данных. Восстановление согласно этому методу прекращается после того, как в базе данных зафиксированы все изменения, внесенные до указанного момента времени. Этот подход используется, когда в данные были внесены нежелательные изменения либо удалены важные таблицы, и известно приблизительное время ошибки. Потери данных будут минимальны, если администратора уведомили немедленно. Хорошо протестированные программы, процедуры и защита данных должны предотвратить потребность в таком типе восстановления.


Восстановление до прерывания
Этот метод восстановления завершает свою работу, когда в командной строке восстановления вводится CANCEL (вместо имени журнального файла).

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

Текущий журнальный файл либо журнальная группа повреждены и недоступны
для восстановления. Зеркалирование, как правило, предотвращает потребность в
таком типе восстановления.
Архивный журнал, требующийся для восстановления, потерян. Частое резервирование и дублирование архивов (использование нескольких мест архивирования) должны предотвратить потребность в таком виде восстановления.


Восстановление с использованием номера изменений
С помощью фразы UNTIL CHANGE при восстановлении, управляемом пользователем, и фразы UNTIL SCN при восстановлении с помощью RMAN задается системный номер изменений (system change number - SCN) последнего зафиксированного изменения, до которого необходимо восстановиться. Восстановление согласно этому методу прекращается после того, как в базе данных зафиксированы все изменения, внесенные до указанного системного номера изменения (SCN). Данный подход используется при восстановлении баз данных, работающих в распределенной среде. Вы можете также воспользоваться фразой UNTIL RESTORE POINT и задать псевдоним для SCN, называемый точкой восстановления (restore point). Точки восстановления будут рассмотрены далее в этом уроке.


Восстановление до журнала с заданным номером
Используя резервные объекты, сопровождаемые RMAN, можно задать номер последнего журнала, используемого для восстановления базы данных с помощью фразы UNTIL SEQUENCE. Восстановление согласно этому методу прекращается после того, как были применены все журналы до, но не включая журнал с заданным порядковым номером.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #12  
Старый 03.10.2009, 03:24
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,384
По умолчанию Выполнение неполного восстановления, управляемого пользователем



Выполнение неполного восстановления, управляемого пользователем

Для выполнения неполного восстановления используется следующая команда:

RECOVER [AUTOMATIC] DATABASE опция
где:
AUTOMATIC: автоматически применяются архивные и оперативные журнальные файлы.




Примечание: для автоматического применения журнальных файлов во время восстановления можно использовать команду SET AUTORECOVERY ON утилиты SQL*Plus, ввести AUTO после запроса журнала командой восстановления, либо использовать команду SQL RECOVER AUTOMATIC.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #13  
Старый 03.10.2009, 03:25
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,384
По умолчанию Выполнение неполного восстановления, управляемого пользователем (продолжение)



Выполнение неполного восстановления, управляемого пользователем (продолжение)

1. Если база данных открыта, то нужно завершить ее работу с использованием параметра NORMAL, IMMEDIATE ИЛИ TRANSACTIONAL.
2. Восстановите все файлы данных из резервной копии (самой последней, если это возможно). Может быть, потребуется выполнить восстановление из резервной копии архивных журналов. Если достаточно дискового пространства, нужно выполнить восстановление архивных журналов из резервной копии на место LOG_ARCHIVE_DEST либо использовать для изменения местоположения одну из команд:

ALTER SYSTEM ARCHIVE LOG START TO < местоположение> или SET LOGSOURCE < местоположение>.

3. Смонтируйте базу данных.
4. Восстановите базу данных, используя команду RECOVER DATABASE.
5. Для синхронизации файлов данных с управляющими и журнальными файлами необходимо открыть базу данных с использованием параметра RESETLOGS.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #14  
Старый 03.10.2009, 03:27
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,384
По умолчанию Пример управляемого пользователем неполного восстановления до определенного момента в



Пример управляемого пользователем неполного восстановления до определенного момента времени

Рассмотрим типичный сценарий применения метода восстановления UNTIL TIME:

Текущее время - 12 дня, 28 ноября 2005 года.
Было выполнено некорректное задание, затронувшее многие таблицы в нескольких схемах.
Это произошло примерно в 11:45 утра.
Активность обращений к базе данных минимальна, поскольку персонал находится в настоящий момент на собрании. Требуется восстановить состояние базы данных на момент перед выполнением задания.

Поскольку известно приблизительное время сбоя и структура базы данных с 11:44 утра не изменялась, можно использовать метод восстановления до определенного момента времени (UNTIL TIME):

1. Если база данных открыта, то нужно завершить ее работу с использованием параметра NORMAL, IMMEDIATE или TRANSACTIONAL.
2. Восстановите все файлы данных из резервной копии (самой последней, если это возможно). Может быть, потребуется выполнить восстановление из резервной копии архивных журналов. Если достаточно дискового пространства, нужно выполнить восстановление архивных журналов из резервной копии на место LOG_ARCHIVE_DEST либо использовать для изменения местоположения одну из команд: ALTER SYSTEM ARCHIVE LOG START TO < местоположение> или
SET LOGSOURCE < местоположение>.
3. Смонтируйте базу данных.

4. Восстановите базу данных :



5. Для синхронизации файлов данных с управляющими и журнальными файлами необходимо открыть базу данных с использованием параметра RESETLOGS:



Если восстановление завершилось успешно и резервирование выполнено, можно уведомить пользователей, что база данных доступна для использования, а все данные, введенные после времени, на которое выполнено восстановление (утро, 11:44), должны быть введены повторно.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #15  
Старый 03.10.2009, 03:29
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,384
По умолчанию Пример управляемого пользователем неполного восстановления до прерывания



Пример управляемого пользователем неполного восстановления до прерывания

После поиска в директории было обнаружено, что журнал log2a.rdo отсутствует и не был записан в архив. Поэтому невозможно продолжить восстановление, начиная с этого журнала.

Результат запроса V$LOG_HISTORY подтверждает отсутствие архивного журнала номер 48 (log2a.rdo):

__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #16  
Старый 03.10.2009, 03:31
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,384
По умолчанию Пример управляемого пользователем неполного восстановления до прерывания (прод-ние)



Пример управляемого пользователем неполного восстановления до прерывания (продолжение)

Шаги восстановления до прерывания такие же, как и при восстановлении до определенного времени, за исключением шага, на котором выполняется команда RECOVER DATABASE. При выполнении команды RECOVER DATABASE UNTIL CANCEL восстановление выполняется до тех пор, пока предоставляется очередной журнальный файл. Чтобы остановить восстановление, введите CANCEL, когда будет запрошено имя журнального файла, на котором необходимо прервать процесс восстановления.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #17  
Старый 03.10.2009, 03:32
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,384
По умолчанию Неполное восстановление БД посредством RMAN



Неполное восстановление БД посредством RMAN

С помощью RMAN можно выполнить восстановление на момент-в-прошлом, до SCN или номера оперативного журнала.
Неполное восстановление вызывает необходимость открытия БД с опцией RESETLOGS.

В результате использования этой опции оперативным журналам присваивается новая временная метка и системный номер изменений, устраняя таким образом возможность повреждения файлов данных путем применения устаревших архивных журналов. Нельзя восстановить отдельные файлы данных до момента, предшествующего открытию БД с параметром RESETLOGS, а другие - на момент после открытия БД с параметром RESETLOGS. Необходимо восстановить все файлы данных к одному и тому же SCN.

Единственное исключение составляют файлы данных, переведенные в автономное состояние с параметром normal или находящие в состоянии 'только чтение'. Такие файлы можно оставить в состоянии 'только чтение' или в автономном состоянии после открытия БД с опцией RESETLOGS, так как в журналах нет транзакционных изменений для таких файлов данных.

Примечание: RMAN можно использовать для восстановления файлов данных из резерва только, когда когда резервный объект был получен с помощью RMAN или же после получения резервной копии вручную она была зарегистрирована в RMAN.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #18  
Старый 03.10.2009, 03:35
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,384
По умолчанию Пример неполного восстановления посредством RMAN с использованием предложения UNTIL T



Пример неполного восстановления посредством RMAN с использованием предложения UNTIL TIME

В 12:00 дня в четверг 28 ноября 2005 года обнаруживается, что ошибочно уничтожена таблица ОЕ . ORDERS. Поскольку известно приблизительное время сбоя, и структура базы данных не изменялась с 11:44 утра, при восстановлении можно использовать метод UNTIL TIME ("по времени").

1. Если база данных открыта, выполните чистую остановку.
2. Смонтируйте целевую базу данных. Не осуществляйте резервирования базы данных в течение процедуры восстановления.
3. Убедитесь, что переменные среды NLS_LANG и NLS_DATE_FORMAT установлены надлежащим образом :

Код:
$NLS_LANG=american_america.we8iso885 9pl5 $NLS_DATE_FORMAT='YYYY-MM-DD:HH2 4:MI:SS'
4. Запустите утилиту Recovery Manager и соединитесь с целевой базой данных.

Код:
$rman target rman/[email protected]
5. Для повышения производительности можно выделить несколько каналов:

Код:
RMAN> run  {allocate channel cl type DISK; 
2> allocate channel c2 type DISK;
6. Установите время для восстановления и произведите с помощью команд RMAN копирование всех файлов из резервной копии. Утилита RMAN будет выполнять отбор файлов, используя дату и время, указанные в команде SET UNTIL:

Код:
RMAN>  ...   set until time » 2005-11-28:11:44:00';
RMAN> ...  restore database;
Примечание: если необходимо копирование из резерва архивных журнальных файлов в новое место, используйте команду RMAN SET ARCHIVELOG DESTINATION TO <местоположение>.

7. Выполните восстановление базы данных до времени, указанного в команде SET UNTIL :

Код:
RMAN>  ...   recover database;
8. Откройте базу данных, используя параметр RESETLOGS :

Код:
RMAN> ...  alter database open resetlogs;   }
9. Убедитесь, что таблица восстановлена, и выполните резервирование.
10. Проинформируйте пользователей, что база данных готова к работе. Они должны ввести заново все данные, которые не были зафиксированы перед сбоем.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #19  
Старый 03.10.2009, 03:36
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,384
По умолчанию Пример неполного восстановления посредством RMAN с использованием предложения UNTIL S



Пример неполного восстановления посредством RMAN с использованием предложения UNTIL SEQUENCE

В предложении UNTIL SEQUENCE указывается порядковый номер журнала и потока для ограничения процесса восстановления сверху. RMAN выполняет операции по восстановления до, но не включая журнал с заданным порядковым номером. В примере, приведенном на слайде, предполагается, что журнал с порядковым номером 120 потерян, и база данных должна быть восстановлена с использованием доступных архивных журналов.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
  #20  
Старый 03.10.2009, 03:38
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,384
По умолчанию Неполное восстановление с использованием Enterprise Manager



Неполное восстановление с использованием Enterprise Manager

Чтобы восстановить всю базу данных на определенный момент времени, выберите на странице Perform Recovery опцию "Recover to the current time or a previous point-in-time". Затем щелкните на кнопке Perform Whole Database Recovery.

На странице Perform Recovery также доступна опция "Restore all datafiles". Ее использование позволяет извлечь из резервных объектов все файлы БД в том состоянии, в котором они находились во время предыдущего резервирования.

Последняя опция "Recover from previously restored datafiles" позволяет выполнить подкат вперед базы данных к некоторому моменту времени.
__________________
Чат форума (требуется аккаунт на github или twitter)
Ответить с цитированием
Ответ
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:06. Часовой пояс GMT +3.


Powered by vBulletin®