RMAN备份与恢复

在这里插入图片描述

一、RMAN介绍

RMAN(Recovery Manager)是Oracle数据库的一个备份和恢复管理工具,它提供了一种集中管理和自动化备份和恢复任务的方式。RMAN可以与Oracle数据库一起使用,以提供基于磁盘和磁带的备份,可以在遇到数据丢失或数据库故障时快速恢复数据。

RMAN具有以下特点和功能:

  1. 集中管理:RMAN可以集中管理所有的备份和恢复任务,包括备份的创建、管理和恢复的操作。它提供了一种统一的接口来执行这些任务,可以通过命令行界面或图形化界面来操作。

  2. 自动化备份和恢复:RMAN支持自动化备份和恢复任务,可以设置定期备份计划,并自动执行备份任务。它还提供了一种灵活的恢复策略,可以根据需求选择恢复到某一个时间点或某一个备份集。

  3. 增量备份:RMAN支持增量备份,可以只备份数据库中发生变化的数据块,大大减少备份时间和存储空间的需求。增量备份还可以与全备份和归档日志一起使用,提供了一种完整的备份和恢复解决方案。

  4. 数据库复制和恢复:RMAN支持数据库复制和恢复,可以将一个数据库的备份还原到另一个数据库上。这种功能可以用于数据库迁移、测试和开发环境的创建等场景。

  5. 数据库压缩:RMAN支持对备份集和归档日志进行压缩,可以减少备份和恢复所需的存储空间。同时,RMAN还支持数据压缩选项,可以在备份过程中对数据进行压缩,减少备份时间和存储成本。

RMAN是Oracle数据库备份和恢复的重要工具,它提供了一种集中管理和自动化执行备份和恢复任务的方式,可以帮助用户保护数据,并在遇到数据丢失或数据库故障时快速恢复数据。RMAN(Recovery Manager)是Oracle数据库的一个备份和恢复管理工具,它提供了一种集中管理和自动化备份和恢复任务的方式。RMAN可以与Oracle数据库一起使用,以提供基于磁盘和磁带的备份,可以在遇到数据丢失或数据库故障时快速恢复数据。

RMAN具有以下特点和功能:

  1. 集中管理:RMAN可以集中管理所有的备份和恢复任务,包括备份的创建、管理和恢复的操作。它提供了一种统一的接口来执行这些任务,可以通过命令行界面或图形化界面来操作。

  2. 自动化备份和恢复:RMAN支持自动化备份和恢复任务,可以设置定期备份计划,并自动执行备份任务。它还提供了一种灵活的恢复策略,可以根据需求选择恢复到某一个时间点或某一个备份集。

  3. 增量备份:RMAN支持增量备份,可以只备份数据库中发生变化的数据块,大大减少备份时间和存储空间的需求。增量备份还可以与全备份和归档日志一起使用,提供了一种完整的备份和恢复解决方案。

  4. 数据库复制和恢复:RMAN支持数据库复制和恢复,可以将一个数据库的备份还原到另一个数据库上。这种功能可以用于数据库迁移、测试和开发环境的创建等场景。

  5. 数据库压缩:RMAN支持对备份集和归档日志进行压缩,可以减少备份和恢复所需的存储空间。同时,RMAN还支持数据压缩选项,可以在备份过程中对数据进行压缩,减少备份时间和存储成本。

RMAN是Oracle数据库备份和恢复的重要工具,它提供了一种集中管理和自动化执行备份和恢复任务的方式,可以帮助用户保护数据,并在遇到数据丢失或数据库故障时快速恢复数据。

二、全量备份

这里我所使用的机器是RAC集群

先提前创建好备份目录,并且授权

su - oracle
mkdir /u01/app/oracle/backup

chown -R oracle:oinstall /u01/app/oracle/backup/
chmod -R 770 /u01/app/oracle/backup/

在这里插入图片描述

rman target sys/oracle@p19c0 nocatalog

在这里插入图片描述

backup database format '/u01/app/oracle/backup/md_%U';

在这里插入图片描述

查看备份记录

 list backup;

在这里插入图片描述
在这里插入图片描述

三、增量备份

0级备份

run {
	allocate channel c1 type disk;
	backup incremental level 0 database format '/u01/app/oracle/backup/l0_%u';
}

在这里插入图片描述

1级增量备份

run {
	allocate channel c1 type disk;
	backup incremental level 1 database format '/u01/app/oracle/backup/l1_%u';
}

在这里插入图片描述
在这里插入图片描述
2级备份以此类推

累积性差量备份

累积性需要在级别后边加cumulative

run {
	allocate channel c1 type disk;
	backup incremental level 1 cumulative database format '/u01/app/oracle/backup/l1c_%u';
}

在这里插入图片描述

总结

备份类型:

  • 完全备份包含所有使用的数据文件块。
  • 0 级增量备份等同于标记为 0 级的 完全备份。 累积 1 级增量备份只包含自上次 0 级增量备份以来修改过的块。
  • 差异 1 级增量备份只包含自上次增量备份以来修改过的块。(默认1级备份就是差异备份)
  • 2级累积增量备份上次任意级别备份至今的增量(任意一次备份至今)
    在这里插入图片描述

四、压缩备份

压缩备份介绍

RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它可以通过压缩备份来减少备份数据的存储空间消耗。下面是关于RMAN压缩备份的详细介绍。

  1. RMAN压缩备份的优势:

    • 减少备份数据的存储空间消耗:RMAN压缩备份可以通过对备份数据进行压缩,减少备份数据的存储空间消耗。
    • 提高备份和恢复性能:由于备份数据变小,RMAN压缩备份可以提高备份和恢复的性能,减少备份和恢复的时间。
    • 降低存储成本:通过减少备份数据的存储空间消耗,RMAN压缩备份可以降低存储成本。
  2. RMAN压缩备份的压缩级别:

    • 无压缩:RMAN备份数据不进行任何压缩。
    • 压缩:RMAN备份数据进行基于块的压缩,可以达到一定的压缩比。
    • 高压缩:RMAN备份数据进行更高级别的压缩(例如Huffman压缩算法),可以进一步减少备份数据的存储空间消耗。
  3. RMAN压缩备份的设置和使用:

    • 在执行备份命令时,可以通过设置压缩级别来启用RMAN压缩备份。例如,使用BACKUP AS COMPRESSED BACKUPSET命令来进行备份,并将备份数据进行压缩。
    • 在RMAN的配置文件(通常为rman.rcv)中,可以设置默认的压缩级别,以便在执行备份时自动启用压缩备份。
  4. RMAN压缩备份的限制:

    • 压缩备份可能会增加CPU的使用量,因为压缩和解压缩备份数据需要消耗一定的计算资源。
    • 高压缩级别可能会导致备份和恢复的性能降低,因为解压缩备份数据可能需要更多的时间和计算资源。
    • 高压缩级别可能会增加备份和恢复的时间,因为压缩和解压缩备份数据需要消耗更多的时间。

RMAN压缩备份是一种减少备份数据存储空间消耗、提高备份和恢复性能、降低存储成本的方法。但需要注意压缩备份可能增加CPU使用量、降低备份和恢复的性能,以及增加备份和恢复的时间。因此,在使用RMAN压缩备份时需要根据具体情况权衡利弊,并合理设置压缩级别。RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它可以通过压缩备份来减少备份数据的存储空间消耗。下面是关于RMAN压缩备份的详细介绍。

压缩备份操作

run{
	allocate channel c1 type disk;
    backup as compressed backupset database format '/u01/app/oracle/backup/full_compressd_%U.dbf';
}

在这里插入图片描述
在这里插入图片描述

压缩备份优缺点

RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它可以用于压缩备份数据以节省存储空间。下面是RMAN压缩备份的优缺点介绍:

优点:

  1. 存储空间节省:RMAN压缩备份可以显著减小备份数据的存储空间占用。通过压缩备份,可以节省磁盘空间,并且可以存储更多的备份数据。

  2. 备份速度提高:压缩备份可以减小备份数据的体积,从而能够降低备份所需的时间。因为备份的数据量减小了,所以备份过程会更快速。

  3. 网络传输效率提高:如果将备份数据传输到远程备份存储位置,使用压缩备份可以减少数据传输所需的时间和网络带宽。

缺点:

  1. CPU负载增加:RMAN压缩备份需要进行数据压缩和解压缩的操作,这会增加CPU的负载。如果压缩备份过程中CPU负载过高,可能会影响其他数据库操作的性能。

  2. 备份恢复时间延长:压缩备份需要进行压缩和解压缩的过程,这会增加备份恢复所需的时间。如果备份恢复速度是关键考虑因素,那么压缩备份可能不是一个理想的选择。

  3. 备份恢复操作复杂性增加:压缩备份需要在备份和恢复操作中使用RMAN工具,并设置相应的参数和选项。这增加了备份和恢复操作的复杂性,并可能需要更多的技术知识和经验。

总的来说,RMAN压缩备份在存储空间节省和备份速度等方面有明显的优势,但它可能会增加CPU负载,延长备份恢复时间,并增加操作复杂性。因此,在选择是否使用RMAN压缩备份时,需要综合考虑数据库的需求和限制。

五、异常恢复

1、恢复前的准备

  • 进入rman
rman target sys/oracle@p19c0 nocatalog

在这里插入图片描述

  • 备份整个数据库
backup database format '/u01/app/oracle/backup/wb_%U';

在这里插入图片描述

  • 做0级备份
backup incremental level 0 database plus archivelog delete all input format '/u01/app/oracle/backup/all_%U';

在这里插入图片描述
在这里插入图片描述

  • 创建一个表t4
    然后在打开一个窗口进入sqlplus中
sqlplus / as sysdba
CREATE TABLE t4(
    ID NUMBER,
    NAME VARCHAR2(50)
);

在这里插入图片描述
插入数据

insert into t4 values(0, 'jack');
insert into t4 values(1, 'henry');

查询表空间数据

select * from t4;

提交数据

commit;

在这里插入图片描述
我们在做一下归档切换

alter system checkpoint;
alter system switch logfile;

在这里插入图片描述

  • 做1级增量备份
backup incremental level 1 database plus archivelog delete all input format '/u01/app/oracle/backup/all_%U';

在这里插入图片描述

增量备份完成

  • 最后一步环境准备
    退出RNAM
quit

在这里插入图片描述
进入sqlplus关闭数据库
首先查看数据文件位置

col name format a50;
select file#,name from v$datafile;

在这里插入图片描述
这里注意保存一下

停止数据库

su - oracle
## 停止集群数据库,接触ASM磁盘占用的情况,方便后边删除,人工制造异常
srvctl stop database -d p19c0

oracle用户下查看集群数据库是否完全关闭,如果没有完全关闭后序删除asm磁盘数据会报错

srvctl status database -d p19c0

在这里插入图片描述

  • 连接到asm实例,删除所有数据文件
su - grid

asmcmd
ls +DATA/P19C0/DATAFILE/

在这里插入图片描述

cd +DATA/P19C0/DATAFILE/
rm +DATA/P19C0/DATAFILE/*

在这里插入图片描述
现在我们的准备工作就完成啦
此时数据库的数据全部丢失

2、恢复数据库

tip:首先要完成基础操作1

将数据库启动到启动到mount
状态

srvctl start database -d p19c0 -o mount
## 查看数据库状态
srvctl status database -d p19c0

在这里插入图片描述

  • 连接RMAN
su - oracle
rman target sys/oracle@p19c0 nocatalog

在这里插入图片描述

提示数据库没有打开

  • 开始恢复
restore database;

RMAN选择合适的备份集开始恢复,我们发现在有全备和0级增量备份的时候,RMAN优先选择了0级增量备份进行恢复
在这里插入图片描述

recover database;

在这里插入图片描述
在这里插入图片描述
数据库恢复完成
打开数据库

alter database open;

在这里插入图片描述
再次进入sqlplus查询我们之前的数据

sqlplus / as sysdba
select * from t4;

在这里插入图片描述
发现可以查到说明数据库已经打开了,并且数据正常
我们也可以再次进入ASM磁盘查看数据文件是否找回来

su - grid

asmcmd
ls +DATA/P19C0/DATAFILE/

在这里插入图片描述
恢复成功
异常恢复完成

六、RMAN相关参数

RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具。它可以帮助管理员进行全量备份、增量备份、增量合并备份、数据文件备份、控制文件备份、归档日志备份等操作,并提供了一些参数供管理员配置备份和恢复策略。

下面是一些常用的RMAN参数的详细介绍:

  1. CONFIGURE RETENTION POLICY:配置备份保留策略,默认是RECOVERY WINDOW,即根据恢复窗口来决定保留多少备份;可以配置为REDUNDANCY,即根据备份的冗余数量来决定保留多少备份。

  2. CONFIGURE CONTROLFILE AUTOBACKUP:配置是否自动备份控制文件,默认是OFF,可以设置为ON来开启控制文件自动备份。

  3. CONFIGURE CHANNELS:配置备份通道的数量和类型,默认的通道类型是DISK,可以配置为SBT_TAPE来备份到磁带库。

  4. CONFIGURE DEVICE TYPE:配置备份设备的类型,默认是DISK,可以配置为SBT_TAPE来指定备份到磁带库。

  5. CONFIGURE ENCRYPTION:配置备份数据的加密选项,默认是OFF,可以设置为ON来开启备份数据的加密。

  6. CONFIGURE DEFAULT DEVICE TYPE:配置默认的备份设备类型,默认是DISK,可以配置为SBT_TAPE来指定备份到磁带库。

  7. CONFIGURE ARCHIVELOG DELETION POLICY:配置归档日志的删除策略,默认是NONE,即不删除归档日志;可以配置为APPLIED ON STANDBY,即在备库应用后删除归档日志。

  8. CONFIGURE BACKUP OPTIMIZATION:配置是否开启备份优化,默认是OFF,可以设置为ON来开启备份优化。

  9. CONFIGURE AUXILIARY DESTINATION:配置辅助实例的位置,默认是一个目录,也可以配置为一个实例。

  10. CONFIGURE CONTROLFILE AUTOBACKUP FORMAT:配置自动备份控制文件的格式,默认是"%F",可以配置为其他格式。

  • 27
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会编程的喵星人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值