RMAN还原

RMAN 的整个恢复过程可以分为还原(restore)与恢复(recover),他们在含义上是有

很大差别的,一个是指物理意义的文件的还原与拷贝,一个是指数据库一致性的恢复,所以,

正确的理解这两个概念,有助于正确的恢复数据库。

对于RMAN 的备份,还原操作只能是在用RMAN 或RMAN 包来做了,对于恢复操作

则是很灵活的了,除了RMAN,也可以在SQLPLUS 中完成。还原与恢复一个数据库,可

以用如下两个简单的命令完成

RMAN>restore database;

RMAN>recover database;

恢复整个数据库

在恢复整个数据库之前必须让数据库处于安装的状态(mount状态)

sql>startup mount

rman target / <<EOF

run {

allocate channel 'dev1' type disk   ;

allocate channel 'dev2' type disk ;

allocate channel 'dev3' type disk ;

restore  database ;

recover database ;

release channel dev1 ;

release channel dev2 ;

release channel dev3 ;

}

 

恢复单个表空间

在恢复该表空间之前让该表空间处于脱机的状态(offline状态)

svrmgrl>alter tablespace users offline;

rman target / <<EOF

run {

allocate channel 'dev1' type disk   ;

allocate channel 'dev2' type disk ;

allocate channel 'dev3' type disk ;

restore  tablespace users ;

recover tablespace users ;

release channel dev1 ;

release channel dev2 ;

release channel dev3 ;

}

 

恢复一个表空间,或者恢复一个数据文件,相对比较恢复数据库可能花费更少的时间。

RMAN> SQL "ALTER TABLESPACE tools OFFLINE IMMEDIATE";

RMAN> RESTORE TABLESPACE tools;

RMAN> RECOVER TABLESPACE tools;

RMAN> SQL "ALTER TABLESPACE tools ONLINE";

对于数据库与数据文件,可以从指定的tag恢复

RMAN>RESTORE DATAFILE 1 FROM TAG=’tag name’

对于时间点恢复等不完全恢复,可能只有完全的还原数据库了。

RMAN> RUN {

2> ALLOCATE CHANNEL c1 TYPE DISK;

3> ALLOCATE CHANNEL c2 TYPE DISK;

4> SET UNTIL TIME = '2002-12-09:11:44:00';

5> RESTORE DATABASE;

6> RECOVER DATABASE;

7> ALTER DATABASE OPEN RESETLOGS; }

不完全恢复在RMAN 中还可以用基于日志的恢复

RMAN> RUN {

2> SET UNTIL SEQUENCE 120 THREAD 1;

3> ALTER DATABASE MOUNT;

4> RESTORE DATABASE;

5> RECOVER DATABASE; # recovers through log 119

6> ALTER DATABASE OPEN RESESTLOGS;

7> }

如果有可能,也可以恢复数据文件到一个新的位置

SET NEWNAME FOR datafile

'/u01/oradata/tools01.dbf' TO '/tmp/tools01.dbf';

RESTORE datafile '/u01/oradata/tools01.dbf';

SWITCH DATAFILE ALL;

除了恢复数据库与数据文件,我们也可以恢复控制文件,需要启动到nomount 下,用如下

的命令即可

14

Restore controlfile from ‘file name’

Restore controlfile from autobackup

Restore controlfile from tag=‘……’

在正常情况下,不用恢复归档日志,恢复进程会自动寻找所需要的归档日志,当然我们也可

以指定恢复到哪里。

SET ARCHIVELOG DESTINATION TO '/u02/tmp_restore';

RESTORE ARCHIVELOG ALL;

如果使用的服务器参数文件(spfile),RMAN 可以备份该参数文件,如果发生文件损坏,可

以用RMAN 恢复spfile 参数文件,在没有参数文件的情况下,用Rman 的临时参数文件启

动数据库到Nomount 下,执行如下命令即可

Restore controlfile from autobackup

Restore controlfile from ‘file name’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值