Connect to the database and use the following sql instruction :
SQL>select * from v$recover_file; FILE# ONLINE ONLINE_ ERROR CHANGE# TIME ---------- ------- ------- ----------------------------------------------------------------- ---------- --------- 44 ONLINE ONLINE FILE NOT FOUND 0As you can see the file with id 44 is missing.
To retrieve the name of the datafile you can write :
SQL>select file#, name from v$datafile join v$recovery_file using( file#);
Using RMAN
To validate the structure of the database.
$>rman target / RMAN>validate database;If you want to validate also logical block failure :
$>rman target / RMAN>validate database CHECK LOGICAL;
To list all database failure that need to be restored or recovered:
$>rman target / RMAN>list failure all;
To ask an advise from the data recovery advisor :
$>rman target / RMAN>advise failure;
To ask rman to recover all failure that could be repaired automatically :
$>rman target / RMAN>repair failure;The 'repair failure' command need to be executed after the 'advise failure' command because 'advise failure' registers all problems in the Automatic Diagnostic Repository.