前言
控制文件是Oracle系统建立时记录参数、路径等关键信息的文件,Oracle每次启动时首先就会读取控制文件。今天测试库的两个控制文件被偷偷删掉一个导致数据库挂了(实际工作中一旦遇到问题一定要记得第一时间汇报),好在还有一个控制文件幸存,故记录在有一个控制文件存在时如何进行恢复。
0、报错
- 进行数据库操作时出现了:ORA - 01747 和ORA - 01507
- 关闭数据库shutdown immediate 时出现ORA - 01507
- 重启startup时出现ORA - 00205,根据提示查看告警文件后发现找不到控制文件control01.ctl
1、假设控制文件路径为:
位置1: /data1/test/control01.ctl
位置1: /data1/test/control02.ctl
现01文件被误删除
2、停止数据库
shutdown immediate;
3、拷贝一个好的控制文件替换坏的控制文件
oracle@******:~$ cp /data1/test/control02.ctl /data1/test/control01.ctl
4、重启数据库
startup normal
总结
控制文件可以说是数据库能否成功运行最重要的因素之一,一旦出问题肯定要影响到整个数据库的运行。因此在生产环境下一定要做好备份工作,且遇事一定要第一时间先报告,以求尽早解决问题,不能闭门造车。