公司服务器装的是oracle11G 64位数据库。服务器做的raid5. 硬盘突然坏了两块。导致系统无法启动。通过硬件公司对硬盘进行恢复,将硬盘中oracle的控制文件与数据文件备份了出来。服务器换过新硬盘,重装了操作系统。将恢复出来的文件app放到原来的所在路径。重命名为APP1.我将数据库重装。保持计算机原机器名,原路径,原sid。安装完后,将数据库所有服务关闭。将两个app文件进行重命名交换。启动数据库服务,数据库依然启动不了。我做了以下操作。请各位大神帮忙看看。
C:\Users\Administrator>sqlplus "/as sysdba"SQL*Plus: Release 11.2.0.1.0 Production on 星期三 9月 11 16:23:42 2013Copyright (c) 1982, 2010, Oracle.  All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> shutdown normal
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。Total System Global Area 6847938560 bytes
Fixed Size                  2188768 bytes
Variable Size            5200939552 bytes
Database Buffers         1627389952 bytes
Redo Buffers               17420288 bytes
数据库装载完毕。
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
SQL> recover database using backup controlfile;
ORA-00279: 更改 63362513 (在 08/23/2013 22:00:42 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\XCKY\ARCHIVELOG\2013_09_11\O1_MF_1_4618_%U_.ARC
ORA-00280: 更改 63362513 (用于线程 1) 在序列 #4618 中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
D:/app/Administrator/oradata/xcky/REDO01.log
ORA-00600: internal error code, arguments: [kcbrsearchflist_2], [], [], [], [],
[], [], [], [], [], [], []
ORA-01112: 未启动介质恢复
SQL> recover database using backup controlfile;
ORA-00279: 更改 63362513 (在 08/23/2013 22:00:42 生成) 对于线程 1 是必需的
ORA-00289: 建议:
D:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\XCKY\ARCHIVELOG\2013_09_11\O1_MF_1_4618_%U_.ARC
ORA-00280: 更改 63362513 (用于线程 1) 在序列 #4618 中
指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
D:/app/Administrator/oradata/xcky/REDO02.log
ORA-00326: log begins at change 63365410, need earlier change 63362513
ORA-00334: archived log: 'D:\APP\ADMINISTRATOR\ORADATA\XCKY\REDO02.LOG'
SQL> recover database
ORA-00283: recovery session canceled due to errors
ORA-01610: recovery using the BACKUP CONTROLFILE option must be done

解决方案 »

  1.   

    应该是控制文件有被恢复过,所以要resetlogs了,用alter database open resetlogs就可以了。
      

  2.   

    不知道你是否把原来的APP目录备份了。
    如果备份了,再次覆盖回去。
    mount启动后,
    alter database open resetlogs;
    贴出此时的错误及trc文件内容
      

  3.   

    你用的是WINDOWS SERVER 2008R2 的操作系统吧!
    应该是你备份过程中出错了
    在备份的时候数据库要处于脱机状态。
    建议你先用DMP,或其它备份先恢复,能恢复多少就恢复多少。
      

  4.   

    recover用backup controlfile 然后resetlogs打开库