RMAN备份数据库物理文件到备份集(backupset)中。在创建备份集时,仅备份已经使用的数据库(不备份空闲的数据块),而且还可以采用压缩功能。
RMAN恢复时指当数据库出现介质失败时,使用RMAN命令转储(restore)并恢复(recover)数据库的方法,使用restore命令进行备份文件的转储,然后使用recover命令进行恢复。
- 交互式
一条一条命令执行并等待其反馈。
- 批处理脚本
将一批命令放入到run{} 语句块中批量执行。
本地连接:
远程连接:
或者进入rman后再连接:
1、traget表示目标数据库。
2、如果添加nocatalog,则表示rman没有建立恢复目录,此时将使用目标数据库的控制文件代替恢复目录(就算不写他也会使用控制文件代替)
官方文档:
https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/configuring-rman-client-basic.html
https://docs.oracle.com/en/database/oracle/oracle-database/19/rcmrf/CONFIGURE.html
进入rman后输入命令查看RMAN当前配置:show all
用于确定备份和归档日志必须为媒体恢复保留多长时间。保留策略可以从备份冗余和恢复窗口两方面定义。RMAN保留满足当前保留策略所需的数据文件备份,以及完全恢复这些数据文件备份所需的任何归档重做日志。
在rman默认配置中有这么一行配置:
该配置是用来决定哪些备份文件的状态是否为obsolete(过时的)或者是available(可用的)

1)冗余度策略redundancy,给定至少需要保留最近的N份备份,更早的备份会被obsolete
例如,如果有3个备份,而冗余数是2,那么最早的那个备份(即第1个备份)将被废弃
2)恢复窗口策略recovery window,指定一个时间窗口,此策略将保证必须能恢复此时间段内任一个时刻的数据

obsolete和expired的区别:
obsolete:过时的,根据保留策略,restore时不使用,可以删除,但依然有效
expired:过期的,无效的
recovery window恢复窗口
至少有一个备份能恢复到sysdate-7的时间点上,之前的备份将标记为obsolete

reduadancy冗余度

不使用保留策略

不会将备份标记为obsolete状态
清除、恢复默认配置

保留策略实验:redundancy 1
设置备份保留策略为:冗余度 1,连续备份2次同一个数据文件,查看是否有obsolete的备份
创建存放 rman 备份目录
mkdir /u01/backup/rman ls -ld /u01/backup/rman

列出构成数据库的数据文件

备份users01.dbf数据文件

列出obsolete备份
再次备份users表空间

列出过时obsolete备份

删除过时备份 obsolete

再次列出过时备份obsolete

查看备份列表

也可以删除未过时的指定备份集obsolete

第二行:CONFIGURE BACKUP OPTIMIZATION OFF; # default
如果优化设置打开,针对归档日志,只读或脱机表空间的数据文件,因为这些文件是不会变化的,备份集运行一个优化算法,全库备份时跳过重复的备份文件
备份优化选项依赖于RETENTION POLICY策略,如果启用优化,在已有足够相同文件副本的情况下(r+1),RMAN将不创建额外的文件副本
开启备份优化选项

将users表空间设置为只读

做三次全库备份
注意第3次全备时,users表空间不备份,redundancy为1,保留2份

将users表空间恢复为可读写

设备类型有两种,可以是磁盘(DISK),或者磁带(STB),默认为磁盘
设置控制文件自动备份
off:默认情况下,在备份system表空间时,会备份controlfile和spfile
on:①在做任何文件的备份时,都会自动备份controlfile和spfile
②数据库的物理结构发生变化时,也自动备份controlfile(延迟创建)
默认off时,备份users表空间时不备份controlfile和spfile

给出控制文件自动备份的路径和命名方式,缺省是‘%F’,控制文件自动备份将放入db_recovery_file_dest目录下,也可以指定到其他地方,如:
关于%:%告诉RMAN要使用的格式模板,以便备份文件的命名引用预定的格式
- %d 数据库名称
- ⟬p; 一个八个字符的名称代表备份集与创建时间
- %p 该备份集中的备份片号,从1开始到创建的文件数
- %c 备份片的拷贝数
- %U 系统获取的一个唯一的文件名
- %T 年月日格式(YYYYMMDD)
当开启控制文件自动备份AUTOBACKUP ON后,控制文件备份将放入指定的目的地,这样RMAN在恢复控制文件备份时能自动找到控制文件备份。即和restore controlfile from autobackup命令配套
并行度和RMAN工作效率有直接关系。
注意:定义备份的位置使用format子句大致有三种形式,以局部优先级更高为原则:
1) 在环境变量里定义,如:
2) 在run块中定义,如:
3)在backup语句中定义,如:
删除所有备份
实验:只设置并行度为2

备份语句中指定备份路径,默认分配两个通道:

实验:设置并行度2,指定2个通道及路径


实验:并行度恢复为1,设置2个channel时第二个忽略

取消通道分配

删除所有备份

分配通道的语句通常在备份脚本run{}内部书写 allocate channel/release channel 分配通道/释放通道

创建第二个备份目录

环境变量中配置



恢复默认配置


归档日志的多路复用,类似数据文件多路复用 ,也就是备份时备份多少份。
该配置限制通道上备份集的最大尺寸,单位支持Bytes 、KB、MB、GB,默认值是 unlimited,可以在备份语句中设置 。
第十行: CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
第十一行: CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
加密,Transparent encryption透明的加密,带钱夹,Password encryption:不带钱夹
压缩只能是针对backupset;
不要将RMAN的压缩和外部压缩实用程序混合在一起做(考点)

可以在备份语句中使用压缩关键字as compressed backupset

查看生成的备份对比
list backup of tablespace users;

第十三行:RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
第十四行:CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
对于归档文件,可以根据保留策略,在备份脚本中指定删除归档文件的语句
第十五行:CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/oracle/dbs/snapcf_prod.f'; #default
目标库控制文件与catalog目录库做全同步或者备份当前控制文件时的时候,需要建立一个controlfile的快照,这个参数指定快照存放位置
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/4854.html