RMAN应用场景分析-企业实战

目录

1、对备份的层级个人理解

2、数据库无法启动问题恢复

2.1、CDB级别的数据文件丢失

2.2、PDB级别的数据库文件丢失

2.3、参数文件丢失

2.4、控制文件丢失

2.5、测试小结


之前的几篇文档,主要讲述了数据库的安装和目录层次的调整。有了前期的基础知识的铺垫以后,本篇文档重点记录当遇到数据库无法启动或者启动报错的处理方案。

1、对备份的层级个人理解

        全库备份:指对全库进行备份,包括:数据文件、控制文件、参数文件等备份。

        增量备份-0级:是指对全库进行level 0级别的备份。

        增量备份-1级:在增量备份0级基础之上,对全库进行level 1级别的备份。

        同理,下一个增量1级备份是在前一个1级增量1级备份基础之上,备份其发生变化的数据块。

        使用RMAN进行0级备份和1级备份,语句如下:

backup as compressed backupset incremental level=0 database format '/home/oracle/backup/inc0_%d_%I_%s_%p_%T.bak';
backup as compressed backupset incremental level 1 database format '/home/oracle/backup/inc1_%d_%I_%s_%p_%T.bak';

2、数据库无法启动问题恢复

2.1、CDB级别的数据文件丢失

首先使用rman命令进行0级和1级的增量备份

本次模拟将system01.dbf改成system01.dbf.bk

打开数据库的时候报错,数据库无法启动。

处理方案:

1、关闭数据库并启动到mount状态(shutdown  immediate&& startup mount)

2、使用rman着手恢复数据库

run {
    restore database;
    recover database;
   }

从上图可以清晰的看到:先进行0级的恢复,在进行1级的恢复,最后恢复日志信息。

验证是否恢复:

本次数据恢复成功,数据库启动无报错。

2.2、PDB级别的数据库文件丢失

我们将整个pdb01文件命名为pdb01bk

从上图可以看到,pdb01已经无法打开,同理先关闭数据库,开启到mount状态进行修复。

本次恢复报错:

报错的原因也很简单:我们的pdb是由我们自行管理采用非OMF模式的,oracle不会帮助我们创建目录,所以这里需要手动创建pdb01目录,授权,在进行恢复。

本次pdb级别的数据文件丢失恢复成功。

2.3、参数文件丢失

        首先,参数文件记录的是整个cdb的启动信息,开启到nomount状态需要读取。在做备份的时候可以直接cp到别的目录。

2.4、控制文件丢失

控制文件记录的是数据库的名称、数据文件的位置等信息,一旦丢失,数据库将宕机。可以做一个控制文件的多路复用,本来只有1份,可以复制N份,我这里存了2份。

# 测试控制文件丢失,无法关闭数据库,无法rman。。。

# 重启服务器或者kill掉进程,在进行rman恢复就报错了。理由很简单,该命令是恢复数据库数据文件的,即使其在备份的时候自动备份了控制文件,但没有控制文件就无法找到数据文件,就无法恢复!

问题处理:

1、通过多路复用机制,重新拷贝一个过来使用

2、通过backup命令当数据库启动到nomoun状态的时候进行rman恢复

backup current controlfile format '/home/oracle/backup/control_%d_%I_%T_%t_%s_%p.ctl';
restore controlfile from '/home/oracle/backup/control_CDB_2297602219_20241001_1181194326_48_1.ctl';

本次数据恢复成功!

2.5、测试小结

1、恢复数据文件的时候,把数据库开到mount状态;

2、进行PDB恢复的时候,先检查目录情况,确认目录存在,权限正常,即可着手恢复。

3、参数文件可以通过物理备份,直接复制到其他磁盘。

4、控制文件可以做多路复用,文件丢失可以从其他的路径拷贝,也可以在做0级1级备份的时候通过backup命令备份,将数据库启动到nomount状态进行恢复。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值