Показать сообщение отдельно
  #1  
Старый 20.09.2009, 01:29
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Восстановление файлов данных 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;

Должно быть что-то похожее:

PHP код:

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

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


Возможный вариант восстановления:

PHP код:

CMD
rman target /

RMANstartup mount;
RMAN> list backup;

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

Последний раз редактировалось Marley; 17.12.2010 в 20:48.
Ответить с цитированием