Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД Oracle / Лекции / Лек_ORAC / Lfg / Защита баз данных.doc
Скачиваний:
88
Добавлен:
16.04.2013
Размер:
153.6 Кб
Скачать

Другие способы использования утилит экспорта и импорта

Утилиты экспорта и импорта можно использовать также для пересылки данных из одной базы данных в другую. Например, разные базы данных в среде распределенной базы данных Oracleконфигурируются так, чтобы тиражировать большие объемы данных при помощи средств тиражированияOracle. Можно воспользоваться утилитами экспорта и импорта, чтобы во время конфигурирования в первый раз переслать данные от одного узла к другому. Более подробно о распределенной базе данныхOracleи о средствах тиражированияOracleрассказывается в главе 11.

Восстановление базы данных

Хотелось бы, чтобы база данных всегда функционировала нормально и чтобы никогда не возникала необходимость использовать журнал транзакций и резервные копии базы данных для восстановления результатов потерянной работы. Следует знать, что в Oracleимеются алгоритмы для выполнения требуемых операций. Ниже рассказано об алгоритмах и вариантах восстановления базы данных.

Этапы восстановления "откат вперед" и "откат назад"

Любой тип восстановления баз данных включает два этапа: "откат вперед" и "откат назад". На рис. 5 показано, что происходит во время этих этапов.

Во время восстановления с "откатом вперед" (roll-forward recovery) менеджер восстановлений использует необходимые группы журнала транзакций, чтобы повторить выполнение всех завершенных транзакций, отсутствующих в текущих файлах данных базы. Когда система восстанавливается после простой аварии, все нужные элементы регистрации находятся в текущем наборе оперативных групп регистрации журнала транзакций. После более серьезного повреждения, например сбоя диска, для восстановления с "откатом вперед" может потребоваться использование резервных файлов данных и архивных групп регистрации.

После восстановления с "откатом вперед" необходимо выполнить восстановление с "откатом назад". Во время восстановления с "откатом назад", или просто с откатом (roll-back recovery)Oracleиспользует информацию, находящуюся в сегментах отката базы данных, чтобы "откатить" изменения, внесенные транзакциями, которые были открыты (не завершены) во время аварии системы. После окончания восстановления с "откатом назад" в базе данных содержатся результаты всей работы, выполненной со времени завершения последней транзакции перед тем, как произошло событие, потребовавшее восстановления данных.

В приложении Е и в последующих разделах данной главы более подробно рассказано о различных вариантах восстановления базы данных.

Восстановление после аварии

К сожалению, неисправности в электропитании и проблемы с программным обеспечением происходят достаточно часто и приводят к внезапным авариям сервера базы данных Oracle. При аварии системы сервер базы данных останавливается ненормально. Говоря точнее, в момент аварии сервер может работать с множеством открытых транзакций, которые, возможно, модифицировали информацию базы данных. Кроме того, во время аварии уOracleнет времени, чтобы выполнить для базы данных контрольную точку и тем самым гарантировать, что все измененные блоки данных будут без проблем переписаны из буферного кэша сервера в файлы данных. Значит при аварии системы может оказаться, что информация файлов данных некорректна и не содержит некоторых изменений, сделанных завершенными транзакциями, — журнал транзакций содержит только неизмененные записи. Таким образом, необходимо восстановление базы данных.

После аварии системы Oracleавтоматически восстанавливает информацию при последующем запуске сервера. Чтобы выполнить восстановление после аварии (crash recovery),Oracleиспользует элементы повтора оперативного журнала транзакций и делает восстановление с "откатом вперед" существующих неповрежденных файлов данных базы (по определению, авария системы не приводит к необратимому повреждению файлов данных). После этапа "отката вперед" восстановление после аварии закончено, иOracleавтоматически открывает базу данных для общего применения. ЗапускOracleпосле аварии системы может быть достаточно длительным, однако восстановление информации полностью прозрачно и происходит без участия пользователей.