Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Удален файл на работающей базе - как восстановить?  [new]
Shab
Member

Откуда: Moscow
Сообщений: 223
Добрый день всем!


На работающей базе удален 2 дата файла. База работает.
Перевел файл в offline.
alter database datafile 5 offline;

Скачал егос остановленного стандбая, но рековерить он его не хочет

SQL> alter database recover datafile 5;
alter database recover datafile 5
*
ERROR at line 1:
ORA-00283: recovery session canceled due to errors
ORA-01124: cannot recover data file 5 - file is in use or recovery
ORA-01110: data file 5: '/u02/app/oracle/oradata/XXX/odm01.dbf'

Что сделать дальше?

Спасибо, если быстро поможете!
2 июн 09, 09:43    [7254297]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
А он точно в OFFLINE перевелся?
Посмотри MR блокировки
2 июн 09, 09:52    [7254337]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Shab
Member

Откуда: Moscow
Сообщений: 223
Как посмотреть?
Оператор перевода отработал нормально
2 июн 09, 09:57    [7254354]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Shab
Member

Откуда: Moscow
Сообщений: 223
Статус датафайла остается в RECOVER
2 июн 09, 09:59    [7254357]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
tst> select sid, lmode, id1 from v$lock where type='MR';

       SID      LMODE        ID1
---------- ---------- ----------
       108          4          1
       108          4          2
       108          4          3
       108          4          4
       108          4          5
       108          4          6
       108          4          7
       108          4        201

8 rows selected.

tst> select file#, status from v$datafile;

     FILE# STATUS
---------- -------
         1 SYSTEM
         2 ONLINE
         3 ONLINE
         4 ONLINE
         5 ONLINE
         6 ONLINE
         7 ONLINE

7 rows selected.

tst> alter database datafile 6 offline;

Database altered.

tst> select sid, lmode, id1 from v$lock where type='MR';

       SID      LMODE        ID1
---------- ---------- ----------
       108          4          1
       108          4          2
       108          4          3
       108          4          4
       108          4          5
       108          4          7
       108          4        201

7 rows selected.

tst> select file#, status from v$datafile;

     FILE# STATUS
---------- -------
         1 SYSTEM
         2 ONLINE
         3 ONLINE
         4 ONLINE
         5 ONLINE
         6 RECOVER
         7 ONLINE

7 rows selected.

tst> recover datafile 6;
Media recovery complete.
tst> alter database datafile 6 online;

Database altered.
2 июн 09, 10:14    [7254427]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Shab
Member

Откуда: Moscow
Сообщений: 223
Удивительно, что пытаемся на тестовой базе сэмулировать удаление файла. Так там rm действительно его удаляет и его статус остается ONLINE, а на боевой он стал нулевого размера и статус RECOVER.
2 июн 09, 10:17    [7254437]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Shab
Member

Откуда: Moscow
Сообщений: 223
SQL> select sid, lmode, id1 from v$lock where type='MR' and id1=5;

SID LMODE ID1
---------- ---------- ----------
234 5 5

Т.е если я правильно понял, то блокировка такая есть
2 июн 09, 10:20    [7254447]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Истребитель клопов
Member

Откуда:
Сообщений: 87
Shab
Удивительно, что пытаемся на тестовой базе сэмулировать удаление файла.

предположу: там он нафиг никому не нужен.
2 июн 09, 10:20    [7254451]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Shab
Member

Откуда: Moscow
Сообщений: 223
Вопрос - Что дальше? Она должна сама рассосаться и надо время или...
2 июн 09, 10:23    [7254464]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Не RAC случаем?
2 июн 09, 10:24    [7254473]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Shab
Member

Откуда: Moscow
Сообщений: 223
И еще про последовательность моих действий.
Если блокировка не уйдет - можно ли мне ночью остановить базу и как останавливать - абортом или immediate?
2 июн 09, 10:27    [7254481]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3778
Shab,

не надобы было суетиться и что-либо трогать, нужно было просто дернуть файл из /proc - сейчас уже поздно
2 июн 09, 10:28    [7254487]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Shab
Member

Откуда: Moscow
Сообщений: 223
Начал катить. Спасибо!
И еще команда
alter database recover datafile 5; не работает а
recover datafile 5 - работает
2 июн 09, 10:37    [7254536]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Shab
Member

Откуда: Moscow
Сообщений: 223
Не - не RAC. Навигатором держал. Первый перевод в offline делал в нем. Когда закрыл - блокировка ушла
2 июн 09, 10:43    [7254578]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Shab
И еще команда
alter database recover datafile 5; не работает а
recover datafile 5 - работает


Дык в доке как раз и рекомендуется команда SQL*PLus RECOVER вместо ALTER DATABASE
2 июн 09, 10:43    [7254584]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18484
Shab
alter database recover datafile 5; не работает
Да ну?
2 июн 09, 10:44    [7254586]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Shab
Member

Откуда: Moscow
Сообщений: 223
Он говорит, что нужен архивлог, что вроде его нет. А на самом деле есть. А recover datafile сразу спросил накатывать его или нет...
2 июн 09, 10:50    [7254624]     Ответить | Цитировать Сообщить модератору
 Re: Удален файл на работающей базе - как восстановить?  [new]
Shab
Member

Откуда: Moscow
Сообщений: 223
Вячеслав, Вам и всем ребятам большое спасибо за поддержку!
2 июн 09, 11:03    [7254690]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить