RMAN恢复

RMAN恢复

数据文件损坏的恢复
RMAN >   restore  datafile id;
RMAN
>  recover datafile id;
RMAN
>   alter   database   open  resetlogs;

表空间的恢复
RMAN >   restore  tablespace example;
RMAN
>  recover tablespace example;
RMNA> alter database open resetlogs
注意: 表空间不要命名为rman的关键字, 如test

整个数据库恢复
RMAN >   restore   database ;
RMAN
>  recover  database ;
RMNA
>   alter   database   open  resetlogs;

不完全恢复
RMAN >  run {
set  until time =   ' 2005-10-17 12:00:00 ' ;
restore   database ;
recover 
database ;
sql 
' alter database open resetlogs ' ;
}


利用backupset重建数据库, 如重新安装oracle
必须有全库备份集和口令文件; 路径同原db相同
1. startup nomount
2. 使用dbms_backup_restore读取控制文件
set  echo  off ;
set  serveroutput  on ;
select  systimestamp  from  dual;
variable devicename 
varchar2 ( 255 );
declare
omfname 
varchar2 ( 512 ) : =   NULL ;
  done boolean;
  
begin
    dbms_output.put_line(
'   ' );
    dbms_output.put_line(
'  Allocating device ' );
    dbms_output.put_line(
'  Specifying datafiles  ' );
       :devicename :
=  dbms_backup_restore.deviceAllocate;
    dbms_output.put_line(
'  Specifing datafiles  ' );
    dbms_backup_restore.restoreSetDataFile;
      dbms_backup_restore.restoreControlfileTo(
' d:\oradata\testdb\CONTROL01.CTL ' );      
    dbms_output.put_line(
'  Restoring   ' );
    dbms_backup_restore.restoreBackupPiece(
' d:\flash_recovery_area\testdb\AUTOBACKUP\2005_10_20\O1_MF_S_572181761_1OG3NS1G_.BKP ' , done);
    
if  done  then
        dbms_output.put_line(
'  Restore done. ' );
    
else
        dbms_output.put_line(
'  ORA-XXXX: Restore failed  ' );
    
end   if ;
    dbms_backup_restore.deviceDeallocate;
  
end ;
/
select  systimestamp  from  dual;
3. host copy d:\backup\pwddhtdba.ora d:\ora10g\database
4. alter database mount;
5. RMAN> restore database;
6. RMAN> recover database; -- -- 有error信息, 不用理它
7. alter database open resetlogs;

你可能感兴趣的:(RMAN恢复)