机房环境:
OS:windows 2008
数据库版本:oracle 11g
事件起因:
昨天公司运维说机房的HP服务器磁盘坏了,我当时冷汗一下子就出来了,因为这是测试库,没有备份,没有归档,但是里面可是有1.5T的数据啊,
下午他们修了一下午,系统可以进去了,但是数据库在启动到OPEN的时候报错SYSTEM01数据文件缺失一千多个数据块,由于没有备份和归档,所以这个数据库是挂掉了。
(DBA们一定要做好备份,否则最后全是自己的事情),幸好我们还有一个一周前的冷备库,所以我直接物理迁移,把数据库恢复到一周以前了,恢复的过程非常简单,因为数据库必须的那些文件路径都已存在(如参数文件内的DUMP文件等),我只是把参数文件,密码文件,控制文件,数据文件恢复到指定的目录,然后直接STARTUP,在nomount和mount阶段都是比较顺利的,而到open阶段的时候,则报错了让我闹心的ORA-600ORA-00600: internal error code, arguments: [kcratr_nab_less_than_odr]的错误,因为大家都知道,ORA-600是数据库自己内部的BUG,我也是第一次遇到,问了很多人大家都不会,所以只能自己去摸索解决,值得庆幸的是在摸索了一个小时后,我终于把数据库OPEN了,以下就是我恢复的步骤,如果感觉对您有所帮助,那么请支持我一下。
//报错:O