我执行
startup命令后,提示我
数据库装载完毕。
ORA-01122: 数据库文件 2 验证失败
ORA-01110: 数据文件 2: 'D:\ORACLE\ORADATA\JSYADC\UNDOTBS01.DBF'
ORA-01110: 数据文件 2: 'D:\ORACLE\ORADATA\JSYADC\UNDOTBS01.DBF'
应该如何解决啊

解决方案 »

  1.   

    文件损坏了,有备份,restore,recover
    没备份,offline,add new datafile
      

  2.   

    connect / as sysdba
    startup nomount pfile=/../initsid.ora;
    alter database mount shared;
    alter database open;试试
      

  3.   

    没关系,在参数文件里删会滚参数启动数据库
      重建会滚表空间第二种方法 startup nomount
     
     alter database mount  使用数据文件脱机   重建即可
      

  4.   

    1.SQL>shutdown abort 如果数据库是打开状态,强行关闭2.SQL>sqlplus / as sysdba3.SQL>startup
    ORACLE 例程已经启动。Total System Global Area 293601280 bytes
    Fixed Size 1248624 bytes
    Variable Size 121635472 bytes
    Database Buffers 167772160 bytes
    Redo Buffers 2945024 bytes
    数据库装载完毕。
    ORA-01122: 数据库文件 1 验证失败
    ORA-01110: 数据文件 1:
    'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\SYSTEM01.DBF'
    ORA-01207: 文件比控制文件更新 - 旧的控制文件4.SQL>alter database backup controlfile to trace as 'f:\aa';
    数据库已更改。5.SQL>shutdown immediate 如果数据库是打开状态,则关闭
    ORA-01109: 数据库未打开
    已经卸载数据库6.SQL>startup nomount; 
    ORACLE 例程已经启动。
    Total System Global Area 105979576 bytes
    Fixed Size 454328 bytes
    Variable Size 79691776 bytes
    Database Buffers 25165824 bytes
    Redo Buffers 667648 bytes7.Editplus之类的编辑器打开在第四步生成的f:\aa文件;
    其实在这个文件中的已经告诉你咋样恢复你的数据库了,找到STARTUP NOMOUNT字样,然后下面可以看到类似语句,这个文件有好几个类似的生成控制文件语句,主要针对不懂的环境执行不同的语句,象我的数据库没有做任何备份,也不是在归档模式,就执行这句
    CREATE CONTROLFILE REUSE DATABASE "ORCLDW" NORESETLOGS NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
    LOGFILE
    GROUP 1 'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\REDO01.LOG' SIZE 50M,
    GROUP 2 'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\REDO02.LOG' SIZE 50M,
    GROUP 3 'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\REDO03.LOG' SIZE 50M
    DATAFILE
    'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\SYSTEM01.DBF',
    'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\UNDOTBS01.DBF',
    'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\SYSAUX01.DBF',
    'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\USERS01.DBF',
    'F:\ORACLE\PRODUCT\10.2.0\DB_1\ORADATA\ORCLDW\EXAMPLE01.DBF'
    CHARACTER SET ZHS16GBK
    ;
    执行上面这段语句,这个语句重建控制文件,然后你可以看着f:\aa文件完成下面的恢复工作了,8.SQL>RECOVER DATABASE (恢复指定表空间、数据文件或整个数据库)9.SQL>ALTER DATABASE OPEN 打开数据库
      

  5.   

    谢谢六楼,前边都符合,但在执行RECOVER DATABASE 的时候出现ORA-00283: ??????????ORA-00264: ?????。没有理会,关闭后再打开就正常了。
    我出现这种错误是在多元化控制文件的时候弄的