ORA-01194: file 1 needs more recovery to be consistent
This is the case datafiles were inconsistent and it is asking for recovery when you try to start the noarchivelog mode database.
Step 1: Start the database in mount.
$sqlplus / as sysdba
SQL>startup mount;
Step 2: Check the datafiles which required recovery.
SQL>select * from v$recover_file;
Step 3: As you do not have the needed archivelogs to recover those files, you should drop them offline then recover database and open.
SQL>alter database datafile <FILE#> offline drop;
NOTE: For sure you will loose data inside those files.
Step 4: Recover the database.
SQL>recover database;
If you come across below error
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
then, do the following
SQL>recover database using backup controlfile until cancel;
It will ask to Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
When the session request a sequence for recovery please point write the path of the each online redolog one after another untill its say database recovered. You can select the redolog member from below query.
SQL>select group#, member FROM v$logfile;
Step 5: Then open the database resetlogs.
SQL>alter database open resetlogs;
This is the case datafiles were inconsistent and it is asking for recovery when you try to start the noarchivelog mode database.
Step 1: Start the database in mount.
$sqlplus / as sysdba
SQL>startup mount;
Step 2: Check the datafiles which required recovery.
SQL>select * from v$recover_file;
Step 3: As you do not have the needed archivelogs to recover those files, you should drop them offline then recover database and open.
SQL>alter database datafile <FILE#> offline drop;
NOTE: For sure you will loose data inside those files.
Step 4: Recover the database.
SQL>recover database;
If you come across below error
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done
then, do the following
SQL>recover database using backup controlfile until cancel;
It will ask to Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
When the session request a sequence for recovery please point write the path of the each online redolog one after another untill its say database recovered. You can select the redolog member from below query.
SQL>select group#, member FROM v$logfile;
GROUP#
----------
MEMBER
--------------------------------------------------------------------------------
3
/home/oracle/u01/oradata/SID/redo03.log
2
/home/oracle/u01/oradata/SID/redo02.log
1
/home/oracle/u01/oradata/SID/redo01.log
NOTE: Please repeat the recovery process, When the session request a sequence for recovery please point write the path of the online redolog:Step 5: Then open the database resetlogs.
SQL>alter database open resetlogs;
No comments:
Post a Comment