引自
http://www.itpub.net/378982.html 前两天因为程序的bug,有个服务人员把客户的资料给删了,3天后才知道。然后他们领导找到我,让我搞定。
整个库有170g,他们提供了一个机器只有50g的空间,做全库的不完全恢复是不可能了。后来大师在metalink上找到了这么一个方法,
可以只恢复被删除记录的表所在的表空间,偶搞了一把,比TSPITR 好用多了。http://metalink.oracle.com/metalink...T&p_id=223543.1在恢复用的机器上配置好与源数据库相同的目录,环境变量设好ORACLE_SID和ORACLE_HOME。
拷贝主库的control file过来,将存储rman备份的nsf直接mount过来,也使用相同的目录,这样方便restore。
run
{
--强制所有的数据文件offline,只是为了安全的目的。
sql "alter database mount clone database";
--为需要恢复的数据文件指定新的路径,也是安全考虑,防止在主库上恢复的时候,覆盖主库文件。
--因为这里是在另外一个库上作恢复,所以可以设成和主库一样。
--注意,undo和system是必须要恢复的,呵呵
set newname for datafile 2 to '/disk2/oradata/crmtemp/undotbs01.dbf';
set newname for datafile 69 to '/disk2/oradata/crmtemp/undotbs03.dbf';
set newname for datafile 79 to '/disk4/oradata/crmtemp/undotbs04.dbf';
set newname for datafile 93 to '/data2/oradata/crmtemp/undotbs05.dbf';
set newname for datafile 1 to '/disk1/oradata/crmtemp/system01.dbf';
set newname for datafile 45 to '/disk1/oradata/crmtemp/appdata01.dbf';
set newname for datafile 46 to '/disk1/oradata/crmtemp/appdata02.dbf';
--restore 表空间
restore tablespace system,UNDOTBS1,APPDATA1M;
--其他的数据文件offline drop
sql "alter database datafile 3,4,5,6,7,8,13,14,15,16,18,19,20,23,25,26,27,28,29,30,31,33,35,36,60,61,62,38,39,40,41,42,43,44,47,48 offline drop";
--将newname的变化应用的controlfile
switch datafile all;
--把需要恢复的数据文件online
sql "alter database datafile 2, 69, 79, 93, 1, 45, 46 online";
--不完全恢复,关键就是这里使用了skip tablespace,把不需要恢复的ts跳过
recover database until TIME "TO_DATE('2005-6-7 15:00:00', 'yyyy-mm-dd hh24:mi:ss')"
skip tablespace TEMP,
INDX,
TOOLS,
ADMIN_DATA1M,
TPCRM,
...;
}
恢复完后,需要重建controlfile,因为目前的controlfile是clone状态的,需要
alter database backup controlfile to trace;
然后提取创建脚本。因为没有online redo,所以使用resetlog的那种方式。
创建完毕后:
alter database open resetlogs;
数据库打开,马上把需要的表exp出来:
exp userid=zeus/zeus file=/home/oracle/xiaojinyu.dmp tables=(CS_COL_CONTENT,CS_COLUMNS,SAMPLE) rows=Y
然后imp到开发库上,交给应用处理。
另外,大家有时间可以测试一下,能否直接在sqlplus 里面直接作
recover database until TIME "TO_DATE('2005-6-7 15:00:00', 'yyyy-mm-dd hh24:mi:ss')"
skip tablespace TEMP.....;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/39335/viewspace-351723/
,如需转载,请注明出处,否则将追究法律责任。