记一次误删Oracle控制文件并恢复过程

概述

当你在数据库运行时误删除了控制文件怎么办?很不幸有一次我就有这个情况,虽然是测试环境,这里因为我有事先把控制文件分别备份,所以恢复还是比较简单的。下面简单记录下怎么恢复。

记一次误删Oracle控制文件并恢复过程


问题

控制文件版本不一致一般是因为在实例运行时删除了控制文件,此时直接复制了其他控制文件过来,但数据库读写时实际上只写入一个控制文件,并没有写入复制过来的控制文件。这种情况会造成控制文件版本不一致。

记一次误删Oracle控制文件并恢复过程


解决过程:

1、关闭实例

SQL> shutdown abort

ORACLE instance shut down.

2、修改控制文件(oracle用户执行)

rm -rf /u01/app/oracle/oradata/orcl/control01.ctl

cp /u01/app/oracle/fast_recovery_area/orcl/control02.ctl /u01/app/oracle/oradata/orcl/control01.ctl

3、重启数据库

记一次误删Oracle控制文件并恢复过程


上面简单的记录了控制文件恢复过程,实际上也说明了控制文件多个地方备份的重要性,虽然可以重建控制文件来恢复,但是毕竟麻烦很多。

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注一下~

记一次误删Oracle控制文件并恢复过程

相关推荐