Восстановление БД Oracle при отсутствии некоторых необходимых файлов.

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

 

 

В этом случае нужно с помощью текстового редактора сделать этот файл. Минимум параметров, которые должны быть в этом файле:db_name, control_files , db_block_size. Если не знаете правильное значение этих параметров, то не беда. Выставьте их в любое значение. База данных не поднимется, но Вы получите ошибку(на консоль или в алерт лог), где будет указано правильное значение параметра.

 

Отсутствуют журнальные файлы

 

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

startup  mount;
recover database  until  cancel   using  backup  controlfile;
…
Specify log: {=suggested | filename | AUTO | CANCEL}
Вводим: Cancel  
Media recovery cancelled.
alter database open resetlogs;

 

Отсутствуют управляющие файлы

 

Обычно управляющие файлы мультиплексированы. Поэтому пропавший файл можно путем копирования и переименования создать из сохранившегося управляющего файла. Другой вариант – убрать упоминание об этом файле из параметра control_files в файле init.ora.

 

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

startup  mount;
recover database  until  cancel   using  backup  controlfile;
…
Specify log: {=suggested | filename | AUTO | CANCEL}
Вводим: Cancel  
Media recovery cancelled.
alter database open resetlogs;

Можно также воспользоваться следующим вариантом:

Если у Вас есть действующая исходная база данных, то на ней попробуйте создать скрипт командой

alter database backup controlfile to trace ;
или 
alter database backup controlfile to ‘имя_файла’;

Полученный скрипт немного нужно отредактировать: CREATE CONTROLFILE REUSE DATABASE … меняем на CREATE CONTROLFILE SET DATABASE

 

Установите в зависимости от ситуации resetlogs или noresetlogs

Исправить в случае необходимости месторасположение файлов базы данных.

После выполнения этого скрипта в состоянии БД nomount, будут созданы управляющие файлы, и базу данных можно будет открыть.

 

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

 

Утеряны файлы данных, принадлежащие табличному пространству отличному от system (sysaux)

 

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

startup mount;
…
alter database datafile 'полное_имя_файла' offline  drop;
SQL> alter database  оpen;

 

Вас заинтересует / Intresting for you:

Обновление до Oracle Database ...
Обновление до Oracle Database ... 7857 просмотров Илья Дергунов Tue, 21 Nov 2017, 13:18:05
Поддерживаемые Oracle типы дан...
Поддерживаемые Oracle типы дан... 9536 просмотров Валерий Павлюков Wed, 24 Oct 2018, 08:00:37
Видеокурс по администрированию...
Видеокурс по администрированию... 10719 просмотров Илья Дергунов Mon, 14 May 2018, 05:08:47
Создание базы данных Oracle
Создание базы данных Oracle 34434 просмотров Александров Попков Wed, 14 Nov 2018, 12:44:39
Войдите чтобы комментировать