I forbindelse med flyt til nye diske, noterede jeg efter gennemgang af vores logs forleden at et par af databaserne havede et par problemmer. Flytningen var stødt på problemmer, og ved gennemgang af mine morgen mails fandt jeg følgende for en af databaserne;

ORA-00376: file 13 cannot be read at this time
ORA-01110: data file 13: "/min_path_til/ORACLE_SID/filnavn.dbf!

Jeg loggede mig dels på via TOAD for lige at efterprøve et SQL udtryk, som en bruger havde fået som ligeledes producerede ovenstående og dels loggede jeg på min U*NIX

[U*NIX] sqlplus / as sysdba

SQL> set pages 500

SQL> select * from v$datafile;

Min interesse i ovenstående er naturligvis status, og for min fil 13 stod den som RECOVER - så sagen er vel enkel, vi skal lave en recover database.

[U*NIX] sqlplus / as sysdba

SQL> RECOVER DATABASE;

ORA-00279: change 1306769 generated at 06/11/2007 11:57:12 needed for thread 1
ORA-00289: suggestion : "/my_path_til/ORACLE_SID/filnavn.arc"
ORA-00280: change 1306769 for thread 1 is in sequence #2245

SQL>

Øhhhhh den foreslår logfil og giver mig en prompt - plejer jeg ikke at skulle trykke YES something ala ?

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

Det er en Oracle 8.1.7 på SUN Solaris - En hurtig søgning på nettet viste dog jeg ikke var den eneste der havde oplevet dette her. Der var et par kreative forsøg - måske religiøse med bl.a. alter system switch logfile præsis 10 gange osv. Det der virkede var dog følgende;

[U*NIX] sqlplus / as sysdba

SQL> startup mount;

SQL> alter database datafile "/my_path_til/ORACLE_SID/filnavn.dbs" offline;

SQL> recover datafile "/my_path_til/ORACLE_SID/filnavn.dbs";

ORA-00279: change 1306769 generated at 06/11/2007 12:05:42 needed for thread 1
ORA-00289: suggestion : "/my_path_til/ORACLE_SID/filnavn.arc"
ORA-00280: change 1306769 for thread 1 is in sequence #2245

Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

Log applied.
Media recovery complete.
SQL> alter database datafile "/my_path_til/ORACLE_SID/filnavn.dbs" online;

SQL> alter database open;