| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Восстановление базы из горячего дампа |
| Автор: mihalych74 15.1.2010, 05:06 |
| Проблема - Block Corrupted. Как восстановить? Flash Recovery не работает. RMAN не может восстановить блок (пишет,архивной копии нет). Есть Клон жесткого диска с базой от 12.12.09 и горячий дамп на 31.12.09 (Восстановить хотя бы на этот момент). Есть ли возможность восстановить базу в текущем состоянии? Если нет, как вписать горячий дамп от 31.12.09 в базу от 12.12.09? (В Oracle не силен. Пытался импортировать дамп командой imp - много ошибок - в основном - ....уже существует (видимо, старая база не дает заменять существующую информацию) |
| Автор: ToshaCh 15.1.2010, 10:23 | ||
| Ага, бэкапы значит религия не позволяет делать. Путь к успеху: 1. Уволить ответственного админа, с разгромной записью в трудовой. Если вы админ, то начать разбег к ближайшей стене - достойное продолжение карьеры. 2. Разобраться что произошло. 100 к 1, что это проблема железа. По опыту чаще всего такая задница бывает на фиберчанеловских хранилищах, когда какая-нить тетка Дуся провод дёргает шваброй (тоже уволить не помешает за такое) или свитч/контролер сбоит. Грубо говоря если проблема существует и сейчас, вы рискуете навсегда потерять базу, т.к. любая операция записи имеет непредсказуемый результат. 3. Разобраться с количеством повреждений. Для этого либо сделать рманом verify database либо внимательно просмотреть алерт лог. Необходимо выудить номера повреждённых файлов и блоков. Далее проясняем с помощью следущего запроса что собственно повредилось.
4. Если повределись индексы то зашибись. Просто дропаем и создаём занаво. Если таблицы, то это хуже. Обращаемся к пакету dbms_repair (примеров в сети полно) и для начала пытаемся собственно зарекаверить блок (шанс, честно говоря, 1 на 1000000). Если не получится, "забываем" про блок с помощью того же пакета, т.е. при обращении к таблице этот блок будет пропускаться. 5. Делаем бэкап c помощью rman. 6. Таблицу (таблицы) переименовываем, а затем создаём с прежним именем с помощью create table as select. Разумеется перед переименованием таблицы нужно разобрать со связанными индексами, констреинтами и т.д. 7. Если данные уж очень важные, то вытягиваем из последнего дампа таблицу (разумеется кладём её рядом с другим именем) и начинаем колдовать над сравнением. 8. Ну и традиционный совет. Наймите админа. Оракл не просто так стоит сотни тысяч рублёв. Система реально мощная и сложная. Если человек не нужен на полный день, найдете админа на удалёнку. |