日期:2014-05-17  浏览次数:21325 次

数据库文件验证失败怎么解决

如图,小弟的数据无法打开,说是数据库文件验证失败

我关闭数据库后,重新启动数据库,也报一样的错误.从报错的信息来看,数据库实例已经在
运行了,但是无法打开数据库.
请教各位大哥这个问题要怎么处理呢,怎样让数据库恢复正常,一般是什么原因导致这种情况
产生的呢?期待中......
------解决方案--------------------
recover datafile 1
试试看。
------解决方案--------------------
有没有控制文件的副本,或者用备份的控制文件替换现在的控制文件
------解决方案--------------------
如果只是这个而错误,可以解决
------解决方案--------------------
引用:
愎复数据文件不行
没有备份的控制文件,还有办法解决吗

重建ctl,到mount,在recover 试试
------解决方案--------------------

ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/data/u01/app/oracle/oradata/ora11g/system01.dbf'
ORA-01207: file is more recent than control file - old control file

看错误提示,很明显控制文件坏掉了,如果没有备份的话,只能重建控制文件了。
mount下
alter database backup controlfile to trace as '/home/oracle/tracecontrol.trc';
shutdown immediate
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORA11G" NORESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/data/u01/app/oracle/oradata/ora11g/redo01.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 2 '/data/u01/app/oracle/oradata/ora11g/redo02.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 3 '/data/u01/app/oracle/oradata/ora11g/redo03.log'  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '/data/u01/app/oracle/oradata/ora11g/system01.dbf',
  '/data/u01/app/oracle/oradata/ora11g/sysaux01.dbf',
  '/data/u01/app/oracle/oradata/ora11g/undotbs01.dbf',
  '/data/u01/app/oracle/oradata/ora11g/users01.dbf'
CHARACTER SET ZHS16GBK
;
RECOVER DATABASE
ALTER DATABASE OPEN;

保持经常备份的好习惯!