出现Oracle 文件大小变为0的情况如何恢复数据?

一、故障描述

   存储掉盘超过上限,lun无法识别。重组存储的位图信息,并导出lun,发现数据库有198个数据文件的大小变为0kb。数据库原来的大小约1T,现在剩余200G。操作系统为suse_linux。数据库版本为10.2.0.3.0。

二、故障分析

    取出数据库的控制文件,对控制文件进行分析。控制文件中记录的数据文件的数量为2343个。重组存储位图信息,重新导出这些文件,发现这些文件的大小依然为0kb。存储损坏导致部分文件系统元文件没有更新以及损坏。

三、恢复过程

1 重组存储信息,重新导出这些文件,这些文件的大小依然是0kb 

图一:

出现Oracle 文件大小变为0的情况如何恢复数据?

2 分析控制文件,找出这些0kb文件大小的文件号(相对文件号)

图二:

出现Oracle 文件大小变为0的情况如何恢复数据? 

3 扫描数据库碎片

图三:

 出现Oracle 文件大小变为0的情况如何恢复数据?

4 拼接碎片。根据文件号,拼接出这些0kb的文件。

5 底层解析,这些所有数据文件文件,按用户导入到新的数据库中。

四、结果

    拼接所有0kb的文件,解析所有的数据文件,插入到新的数据库中,所有数据完全恢复。

图四: 

出现Oracle 文件大小变为0的情况如何恢复数据?










本文转自 宋国建 51CTO博客,原文链接:http://blog.51cto.com/sun510/1902978,如需转载请自行联系原作者
上一篇:ECS 磁盘扩容


下一篇:oracle 查看 用户,用户权限,用户表空间,用户默认表空间。