admin管理员组文章数量:1612097
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/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
系统提示当前这个日志组正在被***进程使用,无法删除。
版权声明:本文标题:Oracle current状态的redo日志被异常删除,系统如何恢复启动 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1728628098a1166753.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论