如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:service@parnassusdata.com

  没有备份的Datafile被误删除时的修复方法。 (前提条件:归档日志模式)   [詳細] 使用归档日志模式下,制成的数据文件,如果从制作完成到现在为止的所有offline REDO日志存在的话,即使没有备份也可以修复。 <顺序>  
  1. 对于物理不存在的datafile制成空的datafile
SVRMGR> alter database create datafile 数据文件名';  
  1. 执行介质恢复
SVRMGR> recover datafile '数据文件名' ;  
  1. 将Datafile ONLINE
SVRMGR> alter database datafile '数据文件名' online;     <<执行例>>  ※ 用于查看时,会记录 v$datafile_header的输出。  
  1. 发生错误
  SQL> select * from test_tab; select * from test_tab * 错误行: 1: 发生了错误。 ORA-00376: 文件: 无法读入6。 ORA-01110: 数据文件: 6 : /home/app/oracle/product/8.0.5/dbs/test1.dbf   SQL> select name,status,error,recover from v$datafile_header 2> where file#=6; NAME                                                         STATUS ------------------------------------------------------------ ------- ERROR                                                            REC ---------------------------------------------------------------- --- OFFLINE FILE NOT FOUND    
  1. 对物理上不存在的datafile执成空白datafile
  SQL> alter database create datafile 2>'/home/app/oracle/product/8.0.5/dbs/test1.dbf';   变更数据库。   SQL> select name,status,error,recover from v$datafile_header 2> where file#=6; NAME                                                       STATUS --------------------------------------------------------- ------- ERROR                                                         REC ------------------------------------------------------------- --- /home/app/oracle/product/8.0.5/dbs/test1.dbf              OFFLINE YES   SVRMGR>!ls -l /home/app/oracle/product/8.0.5/dbs/test1.dbf -rw-rw----   1 ora805     dba        12288  3月 28日  13:49 /home /app/oracle/product/8.0.5/dbs/test1.dbf    
  1. 执行介质修复
  SVRMGR> recover datafile 2>'/home/app/oracle/product/8.0.5/dbs/test1.dbf' ;  --- 2 媒介修复完成。   SVRMGR>  select name,status,error,recover from v$datafile_header 2> where file#=6; NAME STATUS  ERROR              REC ----------------------------------------------------------------- ------- ------------------ --- /home/app/oracle/product/8.0.5/dbs/test1.dbf OFFLINE                    NO 选择1行。    
  1. 将Datafile ONLINE
  SVRMGR>  alter database datafile 2>'/home/app/oracle/product/8.0.5/dbs/test1.dbf' online; 处理语句。   SVRMGR> select name,status,error,recover from v$datafile_header 2> where file#=6; NAME STATUS  ERROR              REC ----------------------------------------------------------------- ------- ------------------ --- /home/app/oracle/product/8.0.5/dbs/test1.dbf ONLINE                     NO 选择1行。   SVRMGR>!ls -l /home/app/oracle/product/8.0.5/dbs/test1.dbf -rw-rw----   1 ora805     dba         104448  3月 28日  13:53 /ho me/app/oracle/product/8.0.5/dbs/test1.dbf     [补充事项] DB终止时,删除了数据文件的话,启动时就会发生以下错误。   SVRMGR> startup 启动了Oracle实例。 所有系统global区域                         4857944byte Fixed Size                                          49240byte Variable Size                                     4325376byte Database Buffers                                   409600byte Redo Buffers                                        73728byte 数据库mount完成。 ORA-01157: ????????: 6??????????????????????????? ORA-01110: ????????: 6 : /home/app/oracle/product/8.0.5/dbs/test1.dbf   这种情况也能以同样的方法修复。   SVRMGR> alter database create datafile '/home/app/oracle/product/8.0 .5/dbs/test1.dbf'; 语句处理完成。 SVRMGR> recover datafile '/home/app/oracle/product/8.0.5/dbs/test1.dbf'; 介质修复完成。 SVRMGR> alter database open; 语句处理完成。