ITPub博客

首页 > 数据库 > Oracle > Oracle备份之RMAN工具(四)

Oracle备份之RMAN工具(四)

原创 Oracle 作者:fengpinDBA 时间:2013-11-27 00:29:06 0 删除 编辑

五、RMAN的备份命令

RMAN工具的使用涉及到参数配置和执行命令。

1.        永久参数配置

RMAN的参数配置分为永久参数和临时参数配置,永久参数类似于数据库的参数文件,通过CONFIGURE命令配置,配置内容存放在控制文件中;临时参数文件只是在批量脚本中通过命令临时指定。如果在批量脚本中指定了与永久参数配置相同的属性,那么批量脚本中指定的属性优先级更高。

?  查看配置

RMAN> show all;

执行show all命令查看的是永久参数配置,也可以执行类似于“show retention policy”的命令查看某一项永久参数的配置(以#default结尾的都是表示默认值)。

?  修改配置

执行CONFIGURE命令可以修改RMAN的永久参数配置

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR TYPE DISK TO ‘%F’;

指定控制文件的备份路径和格式。

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 4;

指定默认的并行度。

RMAN> CONFIGURE DEFAULT DEVICE TO SBT;

指定默认备份到磁带。

RMAN> CONFIGURE ARCHIVELOG BACKUUP COPIES FOR DEVICE TYPE DISK TO 2;

指定默认包括两份拷贝。

?  恢复默认配置

如果要恢复一个永久参数的默认值可以使用CONFIGURE……CLEAR命令清空现有配置:

RMAN> CONFIGURE RETENTION POLICY CLEAR;

?  有关永久参数配置的数据字典

查询V$RMAN_CONFIGURATION视图可以得到发生改变的RMAN永久参数配置。

        永久参数的常用配置:

l   冗余策略

RMAN可以配置两种类型的冗余策略:备份数和恢复窗口。

所谓备份数就是数据库物理文件保留的备份个数,备份中所有超过了备份数的较旧的文件备份都认为是过期的备份,执行如下命令修改RMAN默认的备份数:

RMAN> configure retention policy to redundancy 2;

恢复窗口就是保证数据能够恢复到多少天以内的任何时候,下面配置表示数据库能够恢复到7天以内的任何时候:

RMAN> configure retention policy to recovery window of 7 days;

主要:设置恢复窗口一定要保证control_file_record_keep_time参数值设置大于或等于RMAN中配置的retention policy的值,以确保控制文件中保留的元数据准确。

l   备份优化

如果脱机或只读的数据文件包含在最近的备份中,或者包含在恢复窗口的时间内的备份中,那么RMAN就会跳过脱机和只读文件的备份,这就是备份优化。如下命令为打开备份优化开关:

RMAN> configure backup optimization on;

l   通道配置

控制备份片大小(原因:如果一个备份集中含有多个备份片,那么在还原的时候还需要话费更长的时间将备份集中的备份片合并才能执行还原操作):

可以通过一下命令设置备份片的最大容量为2G:

RMAN> configure channel device type disk maxpiecesize 2G;

永久通道参数配置:

通道的分配可以采用RMAN自动分配,也可以通过在RUN块中手动分配。使用自动分配都需要配置通道的永久参数,如下配置永久通道参数命令:

RMAN> configure channel device type disk format ‘/bak/oracle/%U.bak’;

手动通道参数配置:

在RUN块批量命令中,可以使用allocate channel和release channel手动分配和释放通道:

RMAN> run {

Allocate channel c1 type disk format=’/bak/oracle/%U.bak’;

…

Release channel c1;

}

l   备份拷贝数配置

为不同文件类型的备份设置大于1的备份拷贝数,可以实现在备份的时候同时备份到多个不同的目的地。

步骤1 显示当前数据文件备份拷贝数:

RMAN> show datafile backup copies;

步骤2 备份数据文件,同时指定到两个目录:

RMAN> backup datafile 4 format ‘/u01/back/%U’,’/u02/back/%U’;

注意:由于当前数据文件备份数为1,所以即使在备份的时候指定了两个目的地,实际上也只有一个目的地产生了备份集:

步骤3 修改数据文件备份数为2:

RMAN> configure datafile backup copies for device type disk to 2;

步骤4 备份数据文件并配置归档Redo日志文件,同时指定两个目录:

RMAN> backup datafile 4 format ‘/u01/%U’,’/u02/%U’;

RMAN> configure archivelog backup copies for device disk sbt to 2;

l   快照控制文件

快照控制文件可以看作是一个控制文件的备份,执行如下命令查看快照控制文件的位置:

RMAN> show snapshot controlfile name;

l   将闪回恢复区备份到磁带

备份闪回恢复区到磁带(只能备份到磁带上):

RMAN> backup recovery area;

删除磁带上违反备份策略的备份:

RMAN> delete obsolete device type sbt;

2.        RMAN中常用的命令

?  RMAN语法检查

在不确定RMAN的命令语法是否正确时,这个功能非常有用,避免出现误操作的情况。

1)   在rman命令后面跟上checksyntax参数启动语法检查

$ rman checksyntax

2)   输入测试命令

RMAN> run [ backup database; ]

3)   执行批量命令检查

rman checksyntax @filename

filename对应的是一个文件,文件中可以保存大量包含rman命令,使用这种方式对rman批量脚本进行检查非常有用。

?  perview选项

restore命令的perview选项能够确定完成特定还原操作所需要的备份和Redo日志,这对于判断是否能完成restore操作来说非常有用。这个功能将生成类似于list命令相同格式的输出。另外perview summary选项能用于产生类似list summary命令相同格式的概要报告。

1)   显示用于还原System表空间数据文件的备份文件:

RMAN> restore datafile 2 perview;

2)   显示用户还原特定表空间的备份文件:

RMAN> restore tablespace users perview;

3)   显示执行全数据库还原的概要信息:

RMAN> restore database perview summary;

?  LIST命令

RMAN的list命令是RMAN的列表命令,常用于列出备份的详细信息、备份集的概要信息、过期备份等。

1)   列出备份概要:

RMAN> list backup summary;

2)   列出备份集概要:

RMAN> list backupset summary;

3)   列出过期的备份:

RMAN> list expired backup;

注意:list expired backup命令一般与crosscheck命令配合使用,先执行crosscheck检查命令,再执行此命令查看过期备份。

?  crosscheck命令

crosscheck命令用于检查记录在控制文件中的备份文件、归档Redo日志文件是否物理存在,如果备份文件不存在,那么会在控制文件中记录此文件为expired,之后可以通过deleted命令删除这些过期的备份记录,如下操作:

1)   交叉检查元数据对应的备份文件是否存在:

RMAN> crosscheck backup;

2)   交叉检查元数据对应的归档Redo日志文件是否存在:

RMAN> crosscheck archivelog all;

3)   使用LIST命令查看过期的备份、归档Redo日志文件:

RMAN> list expired backup;

RMAN> list expired archivelog all;

RMAN> list expired backup summary;

4)   删除过期备份

RMAN> delete [noprompt] expired backup;

?  report命令

RMAN的report命令是RMAN的报告命令,常用于报告过期的备份、需要执行的文件备份、数据文件信息等。

1)   报告数据库数据文件信息:

RMAN> report schema;

2)   根据冗余策略,报告需要备份的数据库文件:

RMAN> report need backup;

3)   报告违反冗余策略的备份:

RMAN> report obsolete;

?  validate用法

validate工具用于验证备份集的完整性,判断备份是否损坏,还可以用于验证归档Redo日志文件、数据文件、数据文件拷贝的完整性等。

1)   backup validate…命令用于备份前验证数据文件和归档Redo文件的完整性:

RMAN> backup validate database;

RMAN> backup validate archivelog all;

这个命令只用于对数据文件、Redo日志文件完整性的验证,不会有任何备份文件被输出。

2)   validate…命令用于验证备份集的完整性:

RMAN> validate backupset 51;

RMAN> validate datafile 4;

3)   restore validate命令主要用于验证还原操作用到的备份文件的完整性:

RMAN> restore database until scn 12039849 validate;

?  delete命令

delete命令是RMAN中常用的删除命令,主要用于删除备份、删除归档等工作。推荐使用delete命令删除备份或归档,而不要直接从系统级别删除备份或归档。一方面是从系统级别删除备份或归档容易造成误操作;另一方面就是从操作系统级别执行删除备份命令,Oracle数据库使用的空间可能不会得到立即释放。如下常用命令:

1)   删除指定的备份片:

RMAN> delete backuppiece 101;

2)   删除指定的控制文件拷贝:

RMAN> delete controlfilecopy ‘/tmp/control01.ctl’;

3)   删除磁带设备上的users表空间的备份:

RMAN> delete backup of tablespace users device type sbt;

4)   删除通过crosscheck命令标记为过期的备份文件:

RMAN> delete expired backup;

5)   删除违反备份策略的备份:

例1 删除违反永久参数备份策略的备份:

RMAN> delete [ noprompt ] obsolete;

例2 删除冗余度大于3的备份:

RMAN> delete obsolete redundancy = 3;

例3 删除数据库恢复到7天内任何时间点不需要的备份:

RMAN> delete obsolete recoverywindow of 7 days;

6)   删除指定序列的归档

RMAN> delete noprompt archivelog until sequence = 300;

3.        多通道配置

多通道特性主要的3方面作用:

?  能够确保在不同的设备、不同的位置上同事执行相同的操作。

?  在RAC环境中,存放归档Redo日志文件可能并非共享存储,只有节点自身能访问归档存储设备,这是需要用不同的通道连接到不同的实例处理归档Redo日志。

?  多通道并行操作能减少备份、恢复等话费的时间。

?  多通道参数配置

1)   永久通道参数配置

RMAN> configure channel device type disk format ‘/tmp/%U’;

RMAN> configure channel n device type disk format ‘/u01/bak/%U.bak’;

RMAN> configure channel n device type disk format ‘use_db_recovery_file_dest/%U.bak’;

其中,n表示通道的编号,可以默认配置多个通道。如果format不指定具体路径,那么闪回恢复区将作为备份的存储路径,也可以明确指定USE_DB_RECOVERY_FILE_DEST关键字来使用闪回恢复区作为存储位置。

注意:永久配置中指定的多通道并不能操作并行度,永久参数配置的并行度是由parallelism参数决定的。

2)   临时通道参数配置

执行一下命令在run块中分配多个通道:

RMAN> run {

allocate channel c1 type disk format=’/u01/backup/%U.bak’;

allocate channel c2 type disk format=/u02/backup/%U.bak’;

…

release channel c1;

release channel c2;

}

注意:在永久参数中可以配置多个通道,即使在永久参数中配置了两个永久性通道,也并不意为着并行度是2,决定并行度的参数是parallelism参数值;而手动分配的通道直接决定了备份的并行度,所以虽然都是通道配置,但是两种不同的配置方式是有区别的。

?  通道的其它配置

1)   不同的通道分配不同的设备类型

RMAN> run {

allocate channel c1 device type disk format ‘xxx’;

allocate channel c2 device type disk format ‘xxx’;

backup database;

}

2)   不同的通道连接到不同的实例

在RAC环境中,每个节点的归档Redo日志不要求一定存放在共享存储中,可以存放到本地磁盘或存储中的非共享磁盘中。由于只有实例自己能够识别到归档目的地,所以在执行与归档相关的操作的时候必须使用通道的connect参数连接到不同的实例。如下是不同的通道连接到不同的实例执行归档备份的例子:

RMAN> run {

allocate channel 1 device type disk connect ‘sys/oracle@node_1’;

allocate channel 2 device type disk connect ‘sys/oracle@node_2’;

backup archivelog all;

release channel c1;

release channel c2;

}

?  RMAN性能提升

提升RMAN的性能最主要的手段是根据服务器的配置情况并行执行RMAN备份、恢复操作。RMAN性能提升主要有两个手段,分别是多路复用和多通道。

所谓多路复用表示允许使用单个RMAN通道在备份进行期间并行读取数据库文件,并且将这些数据库文件的内容写到同一个备份集中。多路复用由filesperset和maxopenfilers两个参数中较小的一个值决定。Filesperset在执行backup命令的时候指定,maxopenfileers在分配通道的时候指定。

提升RMAN性能的另一个途径就是增加通道,提高备份的并行度,两种手段双管齐下能够最大程度的提高rman备份、恢复的性能。

4.        归档Redo日志删除策略

?  配置归档Redo日志删除策略

步骤1 查看RMAN中配置的Redo日志删除策略

RMAN> show all;

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

默认归档删除策略没有启用。

步骤2 启用归档日志删除策略:

RMAN> configure archvielog deletion policy to backed up 1 times to disk;

配置归档Redo删除策略,只要求归档Redo日志备份一次到磁盘之后级允许被删除。

?  归档Redo日志删除策略测试1

步骤1 查看系统当前的归档Redo日志文件

SQL> ! ls –al /u01/app/oracle/fast_recovery_area/RACTEST/archivelog/2013_11_26

步骤2 备份所有的归档日志Redo日志文件,同时删除已备份的归档Redo日志文件:

RMAN> backup archvielog all delete all input;

注意:在RAC环境中,delete all input表示删除所有节点输入的归档Redo日志,delete input表示只删除target数据库的的归档日志,all关键字表示RAC所有节点。

步骤3 再次查看系统归档Redo日志文件,发现已被删除:

SQL> ! ls –al /u01/app/oracle/fast_recovery_area/RACTEST/archivelog/2013_11_26

?  归档Redo日志删除策略测试2

步骤1 修改归档Redo日志删除策略,要求备份到磁盘的归档Redo日志有两份才可以删除

RMAN> configure archvielog delete policy to backed up 2 times to disk;

步骤2 查看系统当前的归档Redo日志文件:

SQL> ! ls –al /u01/app/oracle/fast_recovery_area/RACTEST/archivelog/2013_11_26

步骤3 备份所有的归档Redo日志文件,同事删除已备份的归档Redo日志文件

RMAN> backup archivelog all delete all input;

步骤4 查看系统当前归档Redo日志文件,归档Redo日志文件未被删除

SQL> ! ls –al /u01/app/oracle/fast_recovery_area/RACTEST/archivelog/2013_11_26

?  归档Redo日志删除策略测试3:

步骤1 将归档Redo日志备份策略修改为备份一次到磁盘即允许删除:

RMAN> configure archivelog deletion policy to backed up 1 times to disk;

步骤2 再次备份归档Redo日志:

RMAN> backup archvielog all;

5.        二进制压缩

?  基础压缩算法

压缩算法

压缩性能

BZIP2

良好的压缩比率

BASIC

良好的压缩比率

如下命令为配置永久参数压缩算法:

RMAN> configure compression algorithm ‘BASIC’;

?  高级压缩算法

压缩算法

压缩性能

性能优势的权衡

LOW

最快的压缩速度

对备份吞吐量影响最大

ZLIB

在速度和压缩率之间进行平衡

 

MEDIUM

在速度和压缩率之间进行平衡

大多数环境推荐的级别,是压缩比率和速度最好的结合

HIGH

最大压缩率

最适合通过缓慢的网络类备份,限制因素就是网络速度

?  压缩算法数据字典

通过查询11g中V$rman_compression_algorithm视图可以了解支持的算法

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29339097/viewspace-1061185/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-11-22

  • 博文量
    22
  • 访问量
    933088