[unix solaris ufs文件系统数据恢复的故障描述]
1台sun sparc solaris系统,安装有oracle 10G数据库,未知原因(有人为操作可能,但限于多方原因,无法得知),装载数据库的文件系统无法挂载,需要恢复oracle数据库。
[数据恢复过程]
首先对故障硬盘进行全面的完整备份,使用dd命令备份成nfs上的一个镜像文件,download到本地磁盘。
对镜像文件进行完整分析,发现超级块superblock损坏。
我们先不去管超级块,首先分析一下ufs文件系统:
1、查找及分析根目录记录,找到。
2、根据根目录查找第一个节点区inode,找到,并以此分析块大小block。
3、根据根据节点区特点,确定节点区大小。
4、查找第二个节点区,随之确定整个文件系统结构。
5、发现/lost+found文件夹里有大量以数字命名的目录及文件,通常就是由于fsck造成的。
6、按用户提供的目录信息从底层进入分析,找到数据库所在目录,再返回分析需恢复文件的节点区,发现节点区有错误,部分节点的索引位置清0。
通过文件系统的分析,无法全部重组数据库文件。
按sparc solaris上的oracle数据文件组织结构,对全盘进行分析处理。
根据重组好的数据库结构加上部分文件系统信息,成功导出所有数据库。
100%数据库恢复成功。
[unix solaris ufs文件系统 oracle数据库修复总结]
1、此例的故障原因无从考证,但明显的,fsck是不应该执行的。当UFS文件系统出现故障后,如果条件允许,尽可能先对故障盘做备份操作,如果无法做备份,至少应该先以只读的方式测试fsck修复,或选择向导式修复,同时在发现异常时尽快停下操作。
2、UFS文件系统是个不太健壮的文件系统,推荐条件允许的话,可以使用Vxfs。
3、做好备份策略,要把备份做到另外的存储媒体上。
1台sun sparc solaris系统,安装有oracle 10G数据库,未知原因(有人为操作可能,但限于多方原因,无法得知),装载数据库的文件系统无法挂载,需要恢复oracle数据库。
[数据恢复过程]
首先对故障硬盘进行全面的完整备份,使用dd命令备份成nfs上的一个镜像文件,download到本地磁盘。
对镜像文件进行完整分析,发现超级块superblock损坏。
我们先不去管超级块,首先分析一下ufs文件系统:
1、查找及分析根目录记录,找到。
2、根据根目录查找第一个节点区inode,找到,并以此分析块大小block。
3、根据根据节点区特点,确定节点区大小。
4、查找第二个节点区,随之确定整个文件系统结构。
5、发现/lost+found文件夹里有大量以数字命名的目录及文件,通常就是由于fsck造成的。
6、按用户提供的目录信息从底层进入分析,找到数据库所在目录,再返回分析需恢复文件的节点区,发现节点区有错误,部分节点的索引位置清0。
通过文件系统的分析,无法全部重组数据库文件。
按sparc solaris上的oracle数据文件组织结构,对全盘进行分析处理。
根据重组好的数据库结构加上部分文件系统信息,成功导出所有数据库。
100%数据库恢复成功。
[unix solaris ufs文件系统 oracle数据库修复总结]
1、此例的故障原因无从考证,但明显的,fsck是不应该执行的。当UFS文件系统出现故障后,如果条件允许,尽可能先对故障盘做备份操作,如果无法做备份,至少应该先以只读的方式测试fsck修复,或选择向导式修复,同时在发现异常时尽快停下操作。
2、UFS文件系统是个不太健壮的文件系统,推荐条件允许的话,可以使用Vxfs。
3、做好备份策略,要把备份做到另外的存储媒体上。



