oracle 00314,ora-00314日志文件损坏恢复数据库

●做法:

打开init.ora,添加一行文字:

_allow_resetlogs_corruption=true

然后再进行以下操作:

SVRMGR>shutdown abort;

SVRMGR>startup mount;

SVRMGR>recover database until cancel

此时数据库提示

SVRMGR> recover database until cancel;

ORA-00279: change 3684318 generated at 12/30/2003 10:55:34 needed for thread 1 ORA-00289: suggestion : D:\ORACLE\ORA81\RDBMS\ARC00001.001

ORA-00280: change 3684318 for thread 1 is in sequence #1

Specify log: {=suggested | filename | AUTO | CANCEL}

输入 cancel,这时出现这样的信息:

ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below ORA-01194: file 1 needs more recovery to be consistent

ORA-01110: data file 1: 'D:\ORACLE\ORADATA\ORACLE\SYSTEM01.DBF'

SVRMGR>alter database open noresetlogs;

提示:

Statement processed.

这时,数据库已经起来了。

●做法2(不得已)

介绍一个意外情况,如果上面的方法不成功,数据库还是不能open,采用recover,restore 都不成功,说明logfile可能已经损坏,数据库打开需要做一致性检查,所以不能正常打开。因为数据库未作过备份,为了尽可能地减少损失,采用打开数据库,然后立刻导出数据的方法。

oracle有一个不推荐的方法,可以使数据库在不进行一致性检查的方式下打开数据库。

做法:

1。为保险起见,将数据库的系统表空间,数据文件,控制文件均做一次备份:copy。

2。在初始化配置文件中(init.ora)加上:

_allow_resetlogs_corruption=true

_corrupted_rollback_segments=(将所有rollback_segments=(...)的内容加到这里)

将rollback_segments=(...)前加上#

3。startup mount

recover database until cancel;

cancel

alter database open resetlogs;

此时数据库已经可以打开了,请立刻将数据export出来,然后重新安装oracle,重新建立

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值