最近的工作需要维护一个小小的数据库.

前天服务器停电,UPS电源耗尽也没来电,后来来电后,启动数据库加载失败.

查看AlertLog 发现报错ORA-00202: control file: '/dev/raw/raw13'

由于本人实在不是专业Linux维护人员,所以认为是服务器停电造成的文件丢失.

那就恢复控制文件呗.

经过询问度娘,谷哥,得到恢复控制文件的几个方法.

1.找个其他位置的控制文件

find啊find 发现没有其他位置的控制文件.通过show parameter control_files 发现,三个控制文件都在/DEV/RAW目录下.

怨念啊,谁干的?为啥要吧三个控制文件放一块.

2.RMAN备份恢复.

紧急学习了一个rman的操作,发现以前根本没有用RMAN备份过控制文件.杯了个具.

3.手动生成一个控制文件.

又问过度娘,发现手动生成控制文件是有一定危险性的.

此时,天色已晚.那就食罢晚饭再战吧.

吃过晚饭,和一个老资格的同事提到一下此事.老同事说,这个问题,分分钟搞定啊.

然后,他执行了一个脚本...

我打开脚本一看,一堆的raw /dev/raw/rawXX /dev/XXXXXXXXXXXXXXXXXXXXXXXXXXX

这是啥米?

又问过...不错,度娘.

原来RAW是裸设备,oracle能够不通过OS直接访问没有文件系统的裸设备.

所谓三个丢失的控制文件,其实都在裸设备中.

用脚本加载上了裸设备,启动数据库,成功.

Logo

更多推荐