Удаление сегментов отката, находящихся в состоянии "needs recovery"
1 июня 2000 г.
Архив рекомендаций и кодов журнала "Oracle Magazine", 6 июня 1997, TIP06067.HTM
Эту рекомендацию прислал Muriel Thijssen, АБД Oracle фирмы ELC Informatietechnologie в Heerlen, Нидерланды.
Если какой-либо сегмент отката в Вашей базе данных находится в состоянии 'needs recovery' («требуется восстановление»), без дополнительных усилий удалить его не удастся.
Предположим, например, что у Вас имеется два сегмента отката rb01 и rb02, и сегмент rb02 имеет статус 'needs recovery'. Первое, что надо сделать, это добавить в файл параметров инициализации init.ora следующие строки:
- rollback segments = (rb01)
- _offline_rollback_segments = (rb02)
Далее надо закрыть базу данных и повторно стартовать ее с модифицированным init.ora. После этого Вы сможете удалить (drop) сегмент отката rb02 (он все еще имеет статус 'needs recovery'). И только после этого можно пересоздать заново сегмент отката rb02.
[Примечание редактора: Этот же прием можно использовать, если Вам надо “поднять” аварийную базу данных, у которой повреждение в табличном пространстве с активными сегментами отката, а восстановление, предусмотренное режимом ARCHIVELOG по каким-то причинам невозможно:
- rollback segments = ()
- _offline_rollback_segments = (rb01,rb02)
|