waterye

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;

posted on 2005-10-20 22:24 waterye 阅读(1135) 评论(0)  编辑  收藏 所属分类: oracle


只有注册用户登录后才能发表评论。


网站导航: