Oracle 部分恢复法

我们有的时候需要做恢复测试,但是由于目标数据库太大,如果完全恢复数据文件,那么需要很大的存储空间,但是如果不做恢复测试,又无法怎么数据库的备份是否可用,这里给大家介绍一种部分恢复法,即可以做恢复测试,又可以节省空间和时间。

首先我们要确定需要恢复的表空间,有些表空间是强制性需要恢复的,比如:system、undo等,然后再确认一两个需要恢复的表空间,比如:data、users等,那么其它的都无需恢复。

1、把上面提到的所有表空间的数据文件恢复到指定的位置。

2、接下来把数据库启动到mount状态

3、执行如下脚本

#!/usr/bin/ksh

sqlplus '/as sysdba' <set echo off
set linesize 120
set feedback off
set pagesize 0
spool name.lst
select name from v$datafile;
spool off
exit
EOF

grep -v SQL name.lst >name.off

for i in `cat name.off`
do
sqlplus '/as sysdba' <alter database datafile '$i' offline for drop;
exit
EOF
done

4、对数据库进行不完全恢复

5、检查user、data表空间的对象数据是否正常。

总结:这种方式可以以点带面,只要恢复成功,可以证明备份是可用。


oracle视频教程请关注:http://down.51cto.com/4202939/up