Oracle current状态的redo日志被异常删除,系统如何恢复启动

Oracle current状态的redo日志被异常删除,系统如何恢复启动

问题现象

场景一:

后台:

在数据库启动的时候(startup),有如下报错:ora-03113

客户端:

只能登录sys用户,其他用户无法登录

场景二:

后台:

在数据库启动的时候(startup mount),正常启动。

继续执行alter database open,也是报ora-03113,数据库实例直接dang掉。

问题定位

1、查看alert日志(SQL>show parameters backgroup;查看alert.log位置)

2、根据alert.log中的报错,定位具体错误是在哪个trc文件中,

3、然后再去对应trc文件去看具体错误。

4、针对这个问题,看到的错误原因是:redo4文件找不到了。

5、查看redo日志的状态,如下

所以问题最终定位为:current状态的redo日志被异常删

解决方案

结论先行

重建控制文件,参见我的另一篇博客:https://blog.csdn.net/shanshan3003/article/details/117068952

这里要注意一个地方:重建控制文件的时候,要照抄生成的控制文件的内容,不要因为没有redo4就把这一条给删除掉;不然启动数据库会报其他的错误,仍然不可用。

分析尝试过程

1、由于redo日志在哪里,都是在控制文件中写好的,查看控制文件的位置:

SQL>show parameters control_files;

然而控制文件是二进制文件,不可编辑,因此只能选择重建控制文件。

2、尝试切换redo日志,将current状态切换到其他日志上去,使用命令

alter system switch logfile

然而提示数据库未打开,不能切换;因此切换数据文件只能在数据库open的情况下切换日志。

3、尝试删除redo4这个日志

alter database drop logfile group 4

系统提示当前这个日志组正在被***进程使用,无法删除。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

shanshan3003

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值