1、多端备份(将大的数据文件的备份划分为固定大小的多段备份,适合bigfile表空间,多段备份将备份负载分散到多个不同的I/O设备中,是备份并行化。)
backup section size 1g tablespace USER_DATA;
2、压缩
a、null数据块压缩
Oracle不会备份未使用的数据块。
执行null数据块压缩的情形有以下两种:
从未使用过的数据块不被备份
在给定的特定标准下使用过一次的数据块也不被备份。
b、rman备份压缩
如果没有配置数据库的自动备份则可以使用as compressed backupset参数来创建压缩的备份集。如果配置数据库自动压缩并且不希望在给定的backup命令中使用压缩,则只需要使用backup命令的as backupset参数(没有compressed关键字)即可。
默认压缩:不需要许可。
低级压缩:需要许可,最小影响cpu方面的压缩。
中级压缩、高级压缩:需要许可,提供更好的压缩。
configure compression algorithm 'DEFAULT';
configure compression algorithm 'HIGH';
configure compression algorithm 'MEDIUM';
configure compression algorithm 'LOW';
configure compression algorithm clear;
3、标记和还原点
a、标记
标记是不超过30个字符的与特定备份有关联的名称,该名称能在还原操作期间被引用以指示将使用的特定备份。
该标记可应用于完整备份、表空间备份、数据文件备份、增量备份甚至备份副本。
backup database tag='test backup';
b、还原点
标记与特定备份相关联,还原点与特定时间点相关联。rman没有提供创建还原点的命令。可以使用rman的sql命令执行如下
create restore ponit的sql命令:
SQL "Create restore ponit Charlie_one";
4、限定备份的影响
rman提供了backup命令的duration参数。duration参数类似于闹钟:如果备份运行时间超过指定的持续时间,rman将取消备份。
backup duration 00:30 database;
关于duration参数的一个主意事项是不可以使用backup database plus archivelog命令,duration参数也可用来抑制备份。当定义持续时间长时,可以让rman使以下因素之一最小化:
备份运行的时间
备份使用的I/O负载
如果尝试最小化备份运行的时间,rman将预先全速备份。这是默认的设置。使用默认的minimize time 参数的另一个特性是,rman将区分备份的数据文件的优先级。最近备份的数据文件具有较低的优先级,而较早备份的数据文件具有较高的优先级。
backup duration 00:30 minimize time database;
backup duration 00:30 minimize load database;
5、限定备份集的大小
backup database maxsetsize=50m tag='test backup';
oracle 将备份分成多个备份集,每个备份集都不会超出所定义的maxsetsize参数值。但maxsetsize参数引入的问题是他限定了单个备份集的总体大小。因此,如果备份集中的数据文件大小超出定义的限定范围,备份操作就会失败。
6、备份到特定的设备类型
配置不同的默认信道
backup database device type disk;
backup database device type sbt;
7、修改备份集的保存策略
backup命令中的keep参数用于重写默认保留策略并建立称为归档备份的备份。
forever:指示归档备份将被永远保存,除非手动方式删除它。
backup database keep forever;
until time字符串:该选项定义用于备份的可选保留策略。
8、归档日志删除策略
可以使用configure命令配置归档日志删除策略。保留策略对所有归档重做日志都有效,包括在FRA总的归档重做日志。rman将自动删除FRA中的归档重做日志,如果未使用FRA,则需要使用delete obsplete 命令从其他目录中手动删除过时的归档重做日志。
归档重做日志删除策略要基于rman备份归档重做日志的次数来确定。默认情况下,归档日志删除策略值设置为none值,设置为该值意味着需要手动执行对归档重做日志的删除操作。
如果希望确保至少存在两个归档重做日志的备份后将其标记为obsolete,则可以执行以下configure命令:
configure archivelog deletion policy to backed up 2 times to device type disk;
注意当归档重做日志被标记为obsolete时,oracle不会立即将其删除,在FRA中空间被耗尽时,过时的归档重做日志才会被删除。也就是说归档重做日志尽可能地保存在FRA中。
9、重写configure exclude命令
通过执行configure exclude命令,可以配置rman,排除上一次备份以来没有发生变化的数据文件。如果要确保rman备份这些数据文件,可以在下面的backup命令中添加noexclude参数:
backup database noexclude keep forever tag='test backup';
10、使用backup命令检查数据库的错误
利用rman不需要执行备份操作就可以使用rman来扫描数据库的物理错误和逻辑错误。使用backup命令的validate参数以及check logical选项可以实现这个功能。
backup validate check logical database;
11、跳过脱机的、不可访问的或只读的数据文件
backup database skip readonly;
backup database skip offline;
backup database skip inaccessible;
backup database skip readonly skip offline skip inaccessible;
12、强制备份只读的数据文件
备份优化会是rman默认不备份没有发生变化的表空间。但如果要执行一个忽略这个配置的特定备份操作,可以使用force参数来确保备份所有数据文件。
backup database force;
13、基于上次备份时间来备份数据文件
a、只备份添加的新数据文件
rman备份没有被备份过的数据文件
backup database not backed up;
b、备份指定时间周期内没有被备份的数据文件
我们可能需要在指定的时间备份指定的数据文件。如果需要重新启动一个失败的备份操作,使用since time选项也是非常方便的。如果备份操作失败,则可以在排除故障后使用since time选项来重新启动这个备份操作。
backup database not backed up since time='sysdate-2';
rman会备份最近两天内没有备份过的那些数据文件。
c、在备份期间检查逻辑损坏
backup命令的check logical 选项来配置备份操作执行逻辑损坏检查。
backup check logical database;
backup validate check logical database;
如果要在给定的错误数内仍然继续执行备份操作,就需要先设置maxcorrupt参数值
run{
set maxcorrupt for datafile 1,2,3,4,5,6,7 to 10;
backup validate check logical database;
}
14、在rman复制设备上生成备份副本
backup databse copies=2;
15、捕获隐蔽的控制文件
include current controlfile选项会创建当前控制文件的快照,并且会将这个控制文件放入使用backup命令生成的每个备份集中。
backup database device type disk include current controlfile;
在默认情况下,如果备份数据文件1,无论如何都会备份控制文件。因此,如果要执行表空间备份操作或数据文件备份操作,使用include current controlfile参数就非常方便。
本公众号是个人学习工作笔记,希望大家发现问题能及时和我本人沟通,希望你与我共同成长。个人微信zgjt12306。
欢迎关注“自学Oracle”