Снова восстановление

NabiullinAU
Дата: 01.10.2015 12:34:21
Доброго времени суток!
Oracle 9206.
Из-за неисправности RAID упала Win2003 и база перестала монтироваться.
Систему восстановил и запустил, пытаюсь запустить базу.
База работает в режиме noarchivelog
SQL> startup
Экземпляр Oracle запущен.

Total System Global Area  135340020 bytes
Fixed Size                   454644 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
База данных смонтирована.
ORA-01113: для файла 7 требуется восстановление носителя
ORA-01110: файл данных 7: 'C:\ORACLE\ORADATA\GAS\ODM01.DBF'

SQL> 

Пытаюсь восстановить данный файл:
SQL> recover datafile 7
ORA-00279: изменение 373393655, сгенерированное 09/28/2015 09:07:12, необходимо 
для 1
ORA-00289: предложение : C:\ORACLE\ORA92\RDBMS\ARC02221.001
ORA-00280: изменение 373393655 для потока 1 в последовательности #2221


задайте журнал: {<RET>=предложенный | имя файла | AUTO | CANCEL}

ORA-00308: невозможно открыть архивированный протокол
'C:\ORACLE\ORA92\RDBMS\ARC02221.001'
ORA-27041: невозможно открыть файл
OSD-04002: невозможно открыть файл
O/S-Error: (OS 2) Не удается найти указанный файл.


SQL> 


Вывод команд

SQL> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TI
------------- --------
         1          1       2222  104857600          1 NO  INACTIVE
    373416541 28.09.15

         2          1       2223  104857600          1 NO  INACTIVE
    373483682 28.09.15

         3          1       2224  104857600          1 NO  CURRENT
    373508593 28.09.15


SQL> 

SQL> select * from v$logfile;

    GROUP# STATUS  TYPE
---------- ------- -------
MEMBER
---------------------------------
         3         ONLINE
C:\ORACLE\ORADATA\GAS\REDO03.LOG

         2         ONLINE
C:\ORACLE\ORADATA\GAS\REDO02.LOG

         1         ONLINE
C:\ORACLE\ORADATA\GAS\REDO01.LOG


SQL>


Перед всеми манипуляциями сделал копию того что осталось. DBA, к сожалению нет. Бэкапов тоже. Надеюсь на вашу помощь!
tru55
Дата: 01.10.2015 12:46:57
Судя по сообщению, для восстановления нужен redo log 2221, который, судя по v$log уже перезатерся. Так что извиняй.

PS
Когда нет backup и NOARCHIVELOG, значит БД не шибко нужна
mefman
Дата: 01.10.2015 13:03:20
плюньте вы на это дело)
mefman
Дата: 01.10.2015 13:07:55
для смеха можно саппорт напрячь попытаться.
Vadim Lejnin
Дата: 01.10.2015 13:11:31
select hxfil file#,fhscn checkpoint_change#, fhafs Absolute_Fuzzy_SCN from x$kcvfh
/

Может получится вытащить некоторые ТП
Что за ТП ODM?
NabiullinAU
Дата: 01.10.2015 13:25:27
Vadim Lejnin, если честно, я не знаю, возможно одной из программ, которой тут пользуются. Меня попросили попробовать восстановить.

SQL> select hxfil file#,fhscn checkpoint_change#, fhafs Absolute_Fuzzy_SCN from x$kcvfh
  2  /

     FILE# CHECKPOINT_CHANG ABSOLUTE_FUZZY_S
---------- ---------------- ----------------
         1 373508594        0
         2 373508594        0
         3 373508594        0
         4 373508594        0
         5 373508594        0
         6 373508594        0
         7 373393655        0
         8 373508594        0
         9 373508594        0
        10 373508594        0
        11 373508594        0

     FILE# CHECKPOINT_CHANG ABSOLUTE_FUZZY_S
---------- ---------------- ----------------
        12 373508594        0
        13 373508594        0

13 rows selected.

SQL> 
NabiullinAU
Дата: 01.10.2015 13:36:10
На форуме нашел способ от Vadim_Maximov с помощью _allow_resetlogs_corruption.
Попробовал:
SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;

System altered.

SQL> shu immediate
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
Database mounted.
SQL> recover database until cancel;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done


SQL> recover database using backup controlfile until cancel;
ORA-00279: change 373393655 generated at 09/28/2015 09:07:12 needed for thread
1
ORA-00289: suggestion : C:\ORACLE\ORA92\RDBMS\ARC02221.001
ORA-00280: change 373393655 for thread 1 is in sequence #2221


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'C:\ORACLE\ORADATA\GAS\SYSTEM01.DBF'


ORA-01112: media recovery not started


SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced


SQL> 
NabiullinAU
Дата: 01.10.2015 13:39:59
Последние события в alert-логе:

Thu Oct 01 15:28:13 2015
Errors in file c:\oracle\admin\gas\udump\gas_ora_3944.trc:
ORA-00600: internal error code, arguments: [2662], [0], [373393660], [0], [373508631], [4194313], [], []

Thu Oct 01 15:28:14 2015
Errors in file c:\oracle\admin\gas\udump\gas_ora_3944.trc:
ORA-00600: internal error code, arguments: [2662], [0], [373393660], [0], [373508631], [4194313], [], []

Thu Oct 01 15:28:14 2015
Error 600 happened during db open, shutting down database
USER: terminating instance due to error 600
Instance terminated by USER, pid = 3944
ORA-1092 signalled during: alter database open resetlogs...
Q.Tarantino
Дата: 01.10.2015 13:43:12
NabiullinAU,

ORA-600 [2662] "Block SCN is ahead of Current SCN" (Doc ID 28929.1)
Vadim Lejnin
Дата: 01.10.2015 15:23:19
NabiullinAU
На форуме нашел способ от Vadim_Maximov с помощью _allow_resetlogs_corruption.
Попробовал:
SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile;

System altered.

SQL> shu immediate
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
Database mounted.
SQL> recover database until cancel;
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done


SQL> recover database using backup controlfile until cancel;
ORA-00279: change 373393655 generated at 09/28/2015 09:07:12 needed for thread
1
ORA-00289: suggestion : C:\ORACLE\ORA92\RDBMS\ARC02221.001
ORA-00280: change 373393655 for thread 1 is in sequence #2221


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: 'C:\ORACLE\ORADATA\GAS\SYSTEM01.DBF'


ORA-01112: media recovery not started


SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced


SQL> 

backup то хоть сделали прежде чем с молотком в часы влезать?
У вас была проблема только с одним файлом, которым мог быть например в read only mode и не использовался, а теперь...