Потеря Файла журнала транзакций

Рубрика: Восстановление Базы данных

Если теряется элемент группы файлов журналов транзакций и если у группы все еще есть по крайней мере один элемент, происходит следующее:

  • На нормальное функционирование экземпляра это не повлияет.

  • Вы получаете сообщение в журнале предупреждений, уведомляющее Вас, что элемент не может быть найден.

  • Можно восстановить недостающий файл журнала, удалив потерянный элемент журнала транзакций и добавляя новый элемент.

  • Если группа с недостающим файлом журнала была заархивирована, можно очистить группу журналов, чтобы воссоздать недостающий файл.

Восстановление после утраты единственного члена группы журналов транзакций не должно влиять на рабочий экземпляр.

Чтобы выполнить его восстановление:

  1. Определите, имеется ли недостающий файл журнала, исследуя журнал предупреждений.

  2. Восстановите недостающий файл удалив сначала потерянный элемент файла журнала транзакций:

         SQL> ALTER DATABASE DROP LOGFILE MEMBER
    '+DATA/orcl/onlinelog/group_1.261.691672257';
    Затем добавьте новый элемент, чтобы заменить потерянный элемент журнала:
         SQL> ALTER DATABASE ADD LOGFILE MEMBER '+DATA' TO GROUP 2;
    Enterprise Manager также может использоваться, чтобы удалить и воссоздать элемент файла журнала.
    Отметьте: Если при использовании OMF для Ваших файлов журналов транзакций Вы используете вышеупомянутый синтаксис, чтобы добавить новый элемент журнала транзакций к существующей группе, этот новый файл журнала транзакций не будет файлом OMF. Если Вы хотите, чтобы новый элемент журнала транзакций являлся файлом OMF, то самый простой вариант восстановления будет заключаться в создании новой группы журналов транзакций и последующем удалении группы журналов с недостающим элементом.

  3. Если отказ носителей происходит из-за потери диска или контроллера, переименуйте недостающий файл.

  4. Если группа уже была заархивирована, или если Вы находитесь в режиме NOARCHIVELOG, можно решить проблему, очищая группу журналов, чтобы воссоздать недостающий файл или файлы. Выберите соответствующую группу и затем выберите действие Clear Logfile. Можно также очистить группу вручную следующей командой:

        

    SQL> ALTER DATABASE CLEAR LOGFILE GROUP #;

Отметьте: Консоль Управления Базой данных не позволяет Вам очистить группу журналов, которая не была заархивирована. Выполнение этого нарушило бы цепочку информации о транзакциях, требуемую при восстановлении. Если необходимо очистить еще не заархивированную группу журналов, следует немедленно сделать полную резервную копию всей базы данных целиком. Если этого не сделать, это может привести к потере данных при возникновении другого сбоя. Чтобы очистить незаархивированную группу журналов, используйте следующую команду:

    

SQL> ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP #;

Далее: Создание Объектов каталога

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)