Авг 11

Восстановление файлов данных SYSTEM.DBF, UNDO.DBF, SYSAUX.DBF, USERS.DBF

Опубликовано в Базы данных

Восстановление файлов данных SYSTEM.DBF, UNDO.DBF, SYSAUX.DBF, USERS.DBF

Сегодня мы рассмотрим вариант восстановления файлов баз данных SYSTEM.DBF, UNDO.DBF, SYSAUX.DBF, USERS.DBF в состоянии Recover.

Итак, главные команды.

Restore сохраняет данные из сделанной резервной копии. Поврежденные файлы при этом заменяются на рабочие.

Recovery позволяет применить журнальные файлы к базе для наката ее до нужного времени.

Для начала разберемся с данными в нашей системе.

Выполняем запрос:

select name, status from v$datafile;

Также можно попробовать:

select to_char(file#, ‘9’) as » №»,
(case file# when 1 then substr(name, -10)
when 2 then substr(name, -8)
when 3 then substr(name, -10)
when 4 then substr(name, -9)
end) «Имя Файла»,
STATUS «Статус» from V$DATAFILE;

В результате получаем:

№ Имя Файла Статус
— ———- ——-
1 SYSTEM.DBF SYSTEM
2 UNDO.DBF ONLINE
3 SYSAUX.DBF ONLINE
4 USERS.DBF ONLINE

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

Как восстановить файлы данных:

CMD> rman target /

RMAN> startup mount;
RMAN> list backup;

RMAN> run{
# проверяем возможность восстановления файлов базы данных из резервной копии
restore database preview;
# проверка файлов
restore database validate;
# восстановление файла 3 из резервной копии
restore datafile 3;
# применения журнальных файлов к файлу 3
recover datafile 3;
# установить статус файла 3 online
sql ‘alter database datafile 3 online';}

После получения данных производим действия по восстановлению файлов базы данных.

1.select name, error
2.FROM v$datafile
3.JOIN v$recover_file
4.USING (file#);

1.select file# as » №», SUBSTR(name, INSTR(((name)), ‘\’, -1, 1)+1) as «Имя Файла», STATUS «Статус»
2.from V$DATAFILE;

You must be logged in to post a comment.