ITPub博客

首页 > 数据库 > Oracle > RMAN的使用(八)

RMAN的使用(八)

原创 Oracle 作者:KFCLYY 时间:2019-12-25 21:27:27 0 删除 编辑

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

在归档模式下,拥有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


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

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登录也失败,使用shutdown abort停止数据库:


启动数据库到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';

}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69917450/viewspace-2670605/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: RMAN的使用(七)
下一篇: JAVA反射
请登录后发表评论 登录
全部评论
不积跬步,无以至千里

注册时间:2019-04-24

  • 博文量
    23
  • 访问量
    11866