RMAN的使用(八)

十六、归档模式下的完全恢复

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名虚拟主机、营销软件、网站建设、镇沅网站维护、网站推广。

在归档模式下,拥有RMAN的备份和归档重做日志以及当前的重做日志文件,可以做到数据库的完全恢复,并且是联机状态的下的恢复。

1.非系统表空间损坏的恢复

做数据库完全备份

RMAN> backup as compressed backupset database plus archivelog delete all input;

创建测试表

SQL> create table test123 tablespace users as select * from dba_segments;

删除测试表的表空间数据文件

SQL> ! rm -rf /u01/app/oradata/orcl/users01.dbf

重启数据库

SQL> shutdown immediate

SQL> startup

RMAN的使用(八)

为了先打开数据库,先将该数据库文件离线。

SQL> alter database datafile 4 offline;

SQL> alter database open; --这里也可以在mounted状态进行恢复后再打开数据库

还原数据文件

RMAN> restore datafile 4;

恢复数据文件

RMAN> recover datafile 4;

将数据库文件online

SQL> alter database datafile 4 online;

也可以将以上命令放在rman脚本中。

run {

sql 'alter database datafile 4 offline';

restore tablespace users;

recover tablespace users;

sql 'alter database datafile 4 online';

}

2.系统表空间损坏的恢复

系统表空间损坏,必须先做恢复,数据库才能打开。

删除数据文件system01.dbf

[oracle@oracle11g ~]$ rm -rf /u01/app/oradata/orcl/system01.dbf

注意:此时可能会无法重新连接数据库:

RMAN的使用(八)

使用RMAN登录也失败,使用shutdown abort停止数据库:

RMAN的使用(八)

启动数据库到mount状态

SQL> shutdown immediate

SQL> startup

使用RMAN脚本恢复数据文件。

RMAN> run {

sql 'alter database datafile 1 offline';

restore datafile 1;

recover datafile 1;

sql 'alter database datafile 1 online';

}

启动数据库

SQL> alter database open;

3.所有数据文件丢失的恢复

删除所有数据文件。

[oracle@oracle11g orcl]$ rm -f /u01/app/oradata/orcl/*.dbf

使用RMAN脚本恢复数据文件。

SQL> shutdown abort

SQL> startup

RMAN> run {

restore database;

recover database;

sql 'alter database open';

}


分享标题:RMAN的使用(八)
本文来源:http://csdahua.cn/article/gdddoe.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流