暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle_11g_BackUp 命令选项

自学Oracle 2018-11-22
843

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”


文章转载自自学Oracle,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论