oracle 归档模式开启后数据库宕机解决过程

时间:2024-01-06 18:42:08

首先按照网友说的shutdown immediately,结果hang了半个小时也么反应。
然后检查日志,全盘搜索.trc,发现 (D:\app\oracle\diag\rdbms\cms1u\cms1u\trace)

进过分析,怀疑是由于归档已满导致数据库宕机,从而shutdown 无法生效。

再次google,手动删除了 归档文件 ,保留了最后一天的目录,文件位置: D:\app\oracle\flash_recovery_area\cms1u\ARCHIVELOG

再次百度 需要RMAN (命令 : rman target /) ,执行命令 crosscheck archivelog all;
报错 : 由于shutdown 命令正在执行,阻止一切新的数据库连接。

最终无奈
使用了 将shutdown immiediately ctrl +C 终止。

然后使用了 不推荐的 shutdown abort

几秒钟之后 数据库停止。

然后 接着使用 startup
报错 : ora-03113。
原因依然是和万恶的 ora-19815 有关。

遂决定先扩大归档的大小。然后再删除归档文件,最后再将归档关闭。

具体操作:

1:startup mount
2: show parameter db_rec
3:alter system set db_recovery_file_dest_size=5122m;
此时 另开窗口
4: RMAN target /
执行命令 crosscheck archivelog all;
执行命令 delete expired archivelog all;

至此归档文件被删除

接着步骤3 开始关闭归档模式
1:archive log list
2:shutdown immediate;
3:startup mount
4: alter database noarchivelog;
5: alter database open;

成功!

时间仓促就不截图了,希望遇到同样问题的朋友也能顺利解决!