rman学习笔记(5)-转载
时间:2010-12-22 来源:xidian2002
一、恢复类型:
使用RMAN做的备份只能通过RMAN进行恢复,恢复分为两种:数据库修复(Restore)和数据库恢复(Recover)。
Restore:指用备份文件来替换已损坏的数据库文件。操作时会利用恢复目录来获取备份信息(如果没有恢复目录则使用数据库的控制文件)
Recover:利用重做日志或增量备份来重建丢失的数据。
二、恢复数据库:
恢复数据库必须使数据库处于加载状态:
RMAN> Shutdown immediate;
RMAN> Startup mount;
RMAN> Restore database;
RMAN> Recover database delete archivelogs skip tablespace temp;
RMAN> Alter database open;
注意:
1、skip指跳过某文件类型
2、若数据库是非归档模式,则必须使用RMAN> Alter database open resetlogs
三、恢复表空间:
RMAN> Shutdown immediate;
RMAN> Startup mount;
RMAN> SQL 'Alter tablespace users offline immediate';
RMAN> Restore tablespace users;
RMAN> Recover tablespace users;
RMAN> SQL 'Alter tablespace users online' ;
RMAN> Alter database open;
四、恢复数据文件:
RMAN> Shutdown immediate;
RMAN> Startup mount;
RMAN> SQL 'Alter tablespace datafile 7 offline';
RMAN> Restore datafile 7;
RMAN> Recover datafile 7; RMAN> SQL 'Alter tablespace datafile 7 online' ; RMAN> Alter database open; 附:文件号查询SQL select ts.tablespace_name, df.file_name, df.file_id, tf.file_name
from dba_tablespaces ts, dba_data_files df, dba_temp_files tf where ts.tablespace_name = df.tablespace_name(+)
and ts.tablespace_name = tf.tablespace_name(+) 五、恢复控制文件: RMAN> Shutdown immediate; RMAN> Startup nomount; RMAN> Restore controlfile to 'xxxxxxxxxx'; --恢复控制文件 RMAN> Alter database mount; RMAN> Restore database; RMAN> Recover database; RMAN> Alter database open; 六、不完全恢复: 1、基于时间: RMAN> Run { Allocate channel ch1 type disk; Set until time ' 06-OCT-08 10:00:00 '; Restore database; Recover database; SQL 'alter database open resetlogs';} 2、基于日志序列号: RMAN> Run { Allocate channel ch1 type disk; Set until logseq=2 thread=4; --日志序号;文件线程号 Restore database; Recover database; SQL 'alter database open resetlogs';} 3、基于更改: RMAN> Run { Allocate channel ch1 type disk; Set until scn n; --事务号 Restore database; Recover database; SQL 'alter database open resetlogs';}
RMAN> Recover datafile 7; RMAN> SQL 'Alter tablespace datafile 7 online' ; RMAN> Alter database open; 附:文件号查询SQL select ts.tablespace_name, df.file_name, df.file_id, tf.file_name
from dba_tablespaces ts, dba_data_files df, dba_temp_files tf where ts.tablespace_name = df.tablespace_name(+)
and ts.tablespace_name = tf.tablespace_name(+) 五、恢复控制文件: RMAN> Shutdown immediate; RMAN> Startup nomount; RMAN> Restore controlfile to 'xxxxxxxxxx'; --恢复控制文件 RMAN> Alter database mount; RMAN> Restore database; RMAN> Recover database; RMAN> Alter database open; 六、不完全恢复: 1、基于时间: RMAN> Run { Allocate channel ch1 type disk; Set until time ' 06-OCT-08 10:00:00 '; Restore database; Recover database; SQL 'alter database open resetlogs';} 2、基于日志序列号: RMAN> Run { Allocate channel ch1 type disk; Set until logseq=2 thread=4; --日志序号;文件线程号 Restore database; Recover database; SQL 'alter database open resetlogs';} 3、基于更改: RMAN> Run { Allocate channel ch1 type disk; Set until scn n; --事务号 Restore database; Recover database; SQL 'alter database open resetlogs';}
相关阅读 更多 +