Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Oracle

Упал диск с индексами. Порядок действий ? Если нетрудно... : Oracle

25.04.2024 20:44


20.12.2007 18:09
AlexLog
 
из бэкупа - понятно. Пробую без бэкупа.
Казалось бы нетрудно - инфа индексов-то восстановимая, но что-то невыходит.

ALTER DATABASE DATAFILE 'g:\ORACLE\ORADATA\SKONTCO\INDX01.DBF' offline DROP;
и так со всеми файлами индексов.

Дальше замкнутый круг по поводу примари индексов.

DROP TABLESPACE INDX не дает ругается на примари индексы
Отключить констрейны примари индесов тоже нельзя...

Каков правильный порядок действий,а ?
20.12.2007 22:08
baggio
 
экспорт импорт мне только помог... пока дает делай экспорт...
20.12.2007 22:51
AlexLog
 
да, не подумал. только по времени долговато. Эта бд мне не принципиальна. Я больше отработать план действий - на всякий.
21.12.2007 11:54
AlexLog
 
Посмотрел. Вобчем экспорт импорт, другие варианты будут еще длиннее.
24.12.2007 10:09
deucel
 
Цитата:
AlexLog Посмотрел. Вобчем экспорт импорт, другие варианты будут еще длиннее.
Возможно - зависит от размера БД.

Порядок такой:
Нужно отключить таб.пространство (а не файл, как делал ты)
ALTER TABLESPACE "INDX" OFFLINE;
пометить все индексы в этом таб.пространстве как unusable и перестроить
например:

BEGIN
FOR c_rec IN (SELECT a.index_name
FROM SYS.all_indexes a
WHERE a.owner = 'SUPERMAG' AND a.tablespace_name = 'INDX')
LOOP
BEGIN
EXECUTE IMMEDIATE 'ALTER INDEX ' || t_rec.table_name || ' UNUSABLE';

EXECUTE IMMEDIATE 'ALTER INDEX ' || t_rec.table_name || ' REBUILD TABLESPACE NEW_INDX';
END;
END LOOP;
END;
/

ну а потом удалить старое таб.пространство.
Часовой пояс GMT +3, время: 20:44.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.