当前位置: 代码迷 >> Oracle管理 >> rman没法正常恢复
  详细解决方案

rman没法正常恢复

热度:62   发布时间:2016-04-24 04:18:22.0
rman无法正常恢复
一个数据库,从非归档模式转成归档模式,然后未做任何配置,就执行backup incremental level 0 database delete input,提示无异常,然后删除数据库中一个用户,然后直接restore database,recover database,启动数据库,发现删除的用户没有恢复,请问我哪里做错了?
------解决方案--------------------
你的recover database,  相当于由重做了一遍删除用户的命令。
你应该执行不完全恢复啊  比如说基于时间点或者基于scn的
------解决方案--------------------
你的controlfile autobackup打开了吗? 如果打开了那你直接关闭数据库重新恢复一次,你的这个问题应该是由于controlfile没有恢复成备份的那个,控制文件中信息是删除用户之后的
具体步骤就是
shutdown immediate;
startup nomount;
restore controlfile from autobackup;  
startup mount;
restore database;
recover database;
alter database open reset logs;

同时建议以后备份的时候要备份archivelog
------解决方案--------------------
LZ根据你的描述,你需要做的是非完全恢复,就是需要找到你删除那个用户前的时间点,或者SCN。
然后根据下面的方法回复:
SQL>shutdown immediate;
SQL>startup mount;
RMAN>restore database;
RMAN>recover database until time "to_date('2011-08-04 15:37:25','yyyy-mm-dd hh24:mi:ss')";
RMAN>alter database open resetlogs;

你的那种方法是完全恢复,当然没有了。
------解决方案--------------------
引用:
LZ根据你的描述,你需要做的是非完全恢复,就是需要找到你删除那个用户前的时间点,或者SCN。
然后根据下面的方法回复:
SQL>shutdown immediate;
SQL>startup mount;
RMAN>restore database;
RMAN>recover database until time "to_date('2011-08-04 15:37:25','yyyy-mm-dd hh24:mi:ss')";
RMAN>alter database open resetlogs;

你的那种方法是完全恢复,当然没有了。


跟这个方法一样。  to_date里面的内容是在你删除之前,全备之后的某一个时间点。