数据库恢复部分表空间

概述

某政府单位数据库由于应用维护人员的误操作,删除了HTQD2. KJ_MDT这张表中的数据,由于发现较晚,UNDO中的数据已被覆盖,已经无法通过闪回查询来恢复数据,需要对数据库的相关表空间做异机恢复,再导回该表数据。

htqd2上备份文件系统使用两个,/rmanhtqd2、/htqd2bak_huawei,通过检查需要恢复涉及的备份集在/htqd2bak_huawei,而部分归档在/rmanhtqd2,所以决定把/htqd2bak_huawei挂载到目标机器,而相关归档备份集通过ftp复制到目标机器。(/rmanhtqd2文件系统因为一些其它原因无法挂载到目标机器)

原数据库有将近5T的数据量,只恢复涉及的表空间,只需要恢复160g的数据量,大大加快故障处理时间。

恢复准备

检查要恢复的控制文件

确认需要恢复的控制文件在备份集/rmanhtqd2/ctrl_c-975357423-20140701-00中,需要把该备份集复制到目标机器

检查要恢复的表空间和数据文件

需要恢复的数据文件

需要忽略的表空间

检查需要恢复的归档

通过检查,其它归档备份集都在/htqd2bak_huawei文件系统,需要把/rmanhtqd2/al_t851749223_s52253_p1-20140701和/rmanhtqd2/al_t851749223_s52254_p1-20140701两个归档备份集复制到目标机器

恢复过程

把备份文件系统挂载到目标机器

把/htqd2bak_huawei挂载到目标机器

创建必要的目录

创建pfile文件

创建密码文件

启动数据库到nomount状态

恢复控制文件

启动数据库到mount状态

使用RMAN检查必要的归档信息和数据文件信息是否都存在,以防止恢复了比较旧的控制文件。如果恢复了比较旧的控制文件,导致最后归档无法恢复,可以重新恢复比较新的控制再次恢复。

处理不必要的数据文件

处理一些不需要恢复的数据文件

恢复数据文件

注意:其中使用了skip tablespace来忽略掉不需要恢复的表空间

重命名重做日志文件

打开数据库

打开数据库之前,建议检查前面RMAN恢复日志,是否有ORA-01547、ORA-01552、ORA-01110等告警,如果有这些告警,需要进行其它分析。

未经允许不得转载:Oracle一体机用户组 » 数据库恢复部分表空间

相关推荐