Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Работа > Администрирование

Ответ
 
Опции темы Опции просмотра
  #1  
Старый 20.09.2009, 01:29
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию Восстановление файлов данных 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';} 
__________________
Чат форума (требуется аккаунт на github или twitter)

Последний раз редактировалось Marley; 17.12.2010 в 20:48.
Ответить с цитированием
  #2  
Старый 20.09.2009, 01:29
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,385
По умолчанию

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

select name, error
FROM v$datafile
JOIN v$recover_file
USING (file#);



=================================================


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


__________________
Чат форума (требуется аккаунт на github или twitter)

Последний раз редактировалось Marley; 21.09.2015 в 09:57.
Ответить с цитированием
Ответ

Метки
восстановление sysaux.dbf, восстановление system.dbf, восстановление undo.dbf, восстановление users.dbf

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 22:01. Часовой пояс GMT +3.


Powered by vBulletin®