使用rman恢复部分表空间

来源:互联网 发布:英伟达游戏优化软件 编辑:程序博客网 时间:2024/06/04 19:29

在测试环境有些空间不足或者只需要恢复部分表空间的情况下,可以使用offline datafile, recover skip tablespace的方式 只恢复出需要的表空间。


通过 commvault 自定义脚本操作,直接从主机rman上执行有些问题,放在cm端执行没问题。



SET DBID ****;
run {
allocate channel ch1 type 'sbt_tape'
PARMS="SBT_LIBRARY=/opt/simpana/Base64/libobk.a(shr.o),BLKSIZE=262144,ENV=(CV_mmsApiVsn=2,CV_channelPar=ch1)"
TRACE 0;
 restore controlfile  from autobackup ;
 sql 'alter database mount ';
 restore ( tablespace 'TEST1','TEST2','SYSAUX','SYSTEM','UNDOTBS1','UNDOTBS2','USERS' );
 sql 'alter database datafile 3,81,82 offline drop';
 sql 'alter database datafile 1,2,3,4,5,6,7,8,10,16,102,104 online';
 recover database  skip tablespace TEST3,TEST4,TEST5;
 sql 'alter database open resetlogs';
}
0 0