试试:
sql>startup mount
sql>recover datafile 'user_data.dbf';

解决方案 »

  1.   

    http://www.oradb.net/err/error_007.htm
      

  2.   

    ORA-1578 Oracle Data Block corrupted (file # num and block # num)    To determine where the corruption is: 
       select * from sys.dba_extents where file_id = filenum and blocknum 
       between block_id and (block_id + blocks - 1); 
       The filenum and blocknum are the numbers in the 1578 error. 
       This query should give the segment_name and segment_type 
       (i.e table and its name). 
       In order to salvage the uncorrupted part of the table you can add 
       an entry to the init.ora: 
       event = "10231 trace name context forever" 
       This will skip the corrupted block on a table scan. Export the table, 
       drop and recreate it from import.