ALLSTARS_ORACLE 发表于 2017-4-17 10:56:45

oracle断电,重做日志损坏,请教恢复数据库方法


oracle92,win2000 server


启动服务后,数据库处于“已装载”状态,点击“打开”,出现下面的错误:

ORA-01194:??2?????????????????     (注释:这里显示就这样,估计字符集问题)
ORA-01110:????2:'E:\oracle\oradata\energydb\undotbs01.dbf'

启动数据库:
sqlplus /nolog
connect /as sysdba
到这里可以进入。

下面运行:
alter database open;

出现下面的错误:ora-01034 ,  oracle not available

我在pub上找了以前一个类似的文档,可是不行,不能恢复,请各位能给指导一下么???

谢谢!!!


SQL>alter session set nls_language=american;

session altered

SQL>alter database open;

alter database open
*
ERROR at line 1:
ora-01589:must use resetlogs or noresetlogs option for database open

SQL>



我添加了隐含参数,_allow_resetlogs_corruption=true
然后,shutdown abort

然后启动,结果是一样的。



SQL>slter database recover

ora-00283:recovery session canceled due to errors
ora-01610:revovery using the backup controlfile option must be done



select usn , status from v$rollstat

no rows select



断电后,启动服务出现错误,就没有继续启动,把服务停了,冷备了一次数据库的数据文件和控制文件。

然后,应用命令启动,检测了一次错误,然后添加了一次隐含参数,有测试了一次,到现在为止,没有处理其他的问题。



SQL> select *  from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS
---------- ---------- ---------- ---------- ---------- --- ----------------
FIRST_CHANGE# FIRST_TIME
------------- -------------------
         1          1          0  104857600          1 NO  UNUSED
   1435348281 2007/06/18 05:48:54

         2          1       9825  104857600          1 NO  CURRENT
   1435502564 2007/06/18 06:54:19

         3          1       9823  104857600          1 NO  INACTIVE
   1435197638 2007/06/18 03:57:34


SQL>

offline 是不是整个表空间都要offline啊

SQL> recover database using backup controlfile;
ORA-00279: 更改 15143229 (在 03/01/2006 19:00:52 生成) 对于线程 1 是必需的
ORA-00289: 建议: D:\ORACLE\ORA92\RDBMS\ARC00067.001
ORA-00280: 更改 15143229 对于线程 1 是按序列 # 67 进行的


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
E:\ORACLE\ORADATA\ENERGYDB\REDO02.LOG
ORA-00310: 存档日志包含序列 9825;要求序列 67
ORA-00334: 归档日志: 'E:\ORACLE\ORADATA\ENERGYDB\REDO02.LOG'



SQL> select member from v$logfile where group#=(select distinct group# from v$lo
g where status='CURRENT' and thread#=1);

MEMBER
--------------------------------------------------------------------------------

E:\ORACLE\ORADATA\ENERGYDB\REDO02.LOG

以上所有的方法,都经过了测试,并且我这里有3台服务器
每个我都安装了这个环境,每个测试一种情况,结果都是一样的

alter database open 的时候,出现下面错误:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR 位于第 1 行:
ORA-01113: 文件 1 需要介质恢复
ORA-01110: 数据文件 1: 'E:\ORACLE\ORADATA\ENERGYDB\SYSTEM01.DBF'

这个数据库的日志被清了一次,有一个log的备份,请问,这个可以恢复日志么。

前提:这个数据库不好使的情况下。


这个问题,没有办法解决了,现在重新装数据库服务器了,丢失一年的数据。

大家以后小心啊,对数据库问题一定要注意啊。



页: [1]
查看完整版本: oracle断电,重做日志损坏,请教恢复数据库方法