Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1207119
  • 博文数量: 350
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5668
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-23 17:53
文章分类

全部博文(350)

文章存档

2013年(350)

分类: Oracle

2013-04-10 13:27:22

涂抹ORACLE试阅章节:第8章-Rman说,我能

===========================================================================

8.7 RMAN 基础知识补充

  基础毕竟是基础,乃物之根本,重中之重,对于一个真正想要精通Oracle数据库的DBA而言,无论如何都需要做到深入理解、认真铭记。

  经过一些练习之后,相信大家对RMAN已经有所了解,对其操作也产生了一定的兴趣,我想这个时候来面对这些枯燥文字也应该稍稍能有些主观意愿吧,事不宜迟,请睡着的同学赶紧醒醒,进入补基础时间。

  另外,对于这部分内容,我不主张死记硬背,还是要多尝试,理解着去记忆。

8.7.1 FORMAT 字符串格式化

  使用FORMAT参数时可使用的各种替换变量,如下(注意大小写)所示:

  • %a :O racle 的activation ID即RESETLOG_ID。
  • %c :备份片段的复制数(从1开始编号,最大不超过256)。
  • %d :O racle 数据库名称。
  • %D :当前时间中的日,格式为DD。
  • %e :归档序号。
  • %f :绝对文件编号。
  • %F :基于“DBID+时间”确定的唯一名称,格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD为日期,QQ是一个1~256的序列。
  • %h :归档日志线程号。
  • %I :O racle 数据库的DBID。
  • %M :当前时间中的月,格式为MM。
  • %N :表空间名称。
  • %n :数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8。比如数据库名JSSBOOK,则生成的名称则是JSSBOOKx。
  • %p :备份集中备份片段的编号,从1开始。
  • %s :备份集号。
  • %t :备份集时间戳。
  • %T :当前时间的年月日格式(YYYYMMDD)。
  • %u :是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集生成一个唯一的名称。
  • %U :默认是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式,执行不同备份操作时,生成的规则也不同,如下所示:
    • 生成备份片段时,%U=%u_%p_%c;
    • 生成数据文件镜像复制时,%U=data-D-%d_id-%I_TS-%N_FNO-%f_%u;
    • 生成归档文件镜像复制时,%U=arch-D_%d-id-%I_S-%e_T-%h_A-%a_%u;
    • 生成控制文件镜像复制时,%U=cf-D_%d-id-%I_%u。
  • %Y :当前时间中的年,格式为YYYY。

  注:如果在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片段命名。

8.7.2   通过CONFIGURE命令创建预定义配置

  RMAN 中具有一系列的默认配置,这些配置决定了备份和恢复时的一些默认选项(此节内容枯燥,眼神不好的同学请自觉跳过),比如:

  • 自动分配通道的配置
  • 备份保留时间的配置
  • 备份集和备份片段大小的配置
  • 启用或禁用备份优化功能
  • 镜像复制的备份数量
  • 控制文件快照名称
  • 启用或禁止控制文件自动备份
  • 是否将某个表空间排除在备份之外

  通过CONFIGURE命令修改配置,具体用法非常简单,首先,我们先来查看一下当前配置,用SHOW ALL命令:

    RMAN> SHOW ALL;

    RMAN configuration parameters are:

    CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

    CONFIGURE BACKUP OPTIMIZATION OFF; # default

    CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

    CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

    CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO  ' %F ' ; # default

    CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default

    CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

    CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

    CONFIGURE MAXSETSIZE TO UNLIMITED; # default

    CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

    CONFIGURE ENCRYPTION ALGORITHM  ' AES128 ' ; # default

    CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

    CONFIGURE SNAPSHOT CONTROLFILE NAME TO  ' F:\ORACLE\PRODUCT\10.2.0\DB_2\DATABASE\ SNCFJSSBOOK.ORA ' ; # default

    RMAN>

  SHOW 命令在介绍RMAN命令时单介绍过,同时我们也已经知道后加#default表示该条配置仍然是初始的默认配置,如果我们想把某条更改过的配置再置为初始值应该怎么办呢?很简单,用命令: CONFIGURE ... CLEAR ; 即可,例如:

    RMAN>  CONFIGURE RETENTION POLICY CLEAR;

    old RMAN configuration parameters:

    CONFIGURE RETENTION POLICY TO REDUNDANCY 3;

    RMAN configuration parameters are successfully reset to default value

  上述的各项配置,有些我们在前面章节中已经有所体现,下面我们再逐条过一遍:

1 .CONFIGURE RETENTION POLICY配置备份保留策略

  前面章节中我们详细讲过关于备份保留策略,也知道了它有以下两种保留策略:

(1)基于时间的保留策略:

    RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS;

(2)基于冗余数量的保留策略:

    RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY n;

  上述n均为整型数字,大于等于1。

  取消备份保留策略,可用如下命令:

    RMAN> CONFIGURE RETENTION POLICY TO NONE;
2 .CONFIGURE BACKUP OPTIMIZATION配置备份优化

  备份优化包括OFF和ON两个状态:

  打开备份优化:

    RMAN> CONFIGURE BACKUP OPTIMIZATION ON;

  关闭备份优化:

    RMAN> CONFIGURE BACKUP OPTIMIZATION OFF;
3 .CONFIGURE DEFAULT DEVICE TYPE 配置I/O设备类型

  RMAN 支持的I/O设备类型有两种:磁盘(DISK)和磁带(SBT),默认情况下为磁盘。

  使用磁盘设备:

    RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;

  使用磁带设备:

    RMAN> CONFIGURE DEFAULT DEVICE TYPE TO SBT;

    提示:

    配置为磁带时也可以将关键字写为SBT_TAPE。由于访问磁带设置多数情况下还需要附带相关参数,上述仅为示例,磁带设备的实际配置请根据实际情况,按照设备厂商的要求进行设置。

  在这里需要注意的一点是:如果I/O设备发生变化,相关配置项也需要修改。例如:配置磁盘设置的默认并行度为2:

    RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;
4 .CONFIGURE CONTROLFILE AUTOBACKUP配置控制文件自动备份

  选择是否自动备份控制文件,包含两个状态:OFF和ON。

  打开自动备份:

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON

  禁止自动备份:

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP OFF

  同时可以通过如下配置指定自动备份的格式和路径:

    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO  ' F:\ORACLE\ BACKUP\%F ' ;

  在备份期间,将产生一个控制文件的快照,用于控制文件的读一致性,这个快照可以通过如下配置:

    RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO  ' F:\ORACLE\PRODUCT\10.2.0\DB_1\DATABASE\ SNCFJSSBOOK.ORA ' ;
5 .CONFIGURE DEVICE TYPE 设置并行备份

  RMAN 支持并行备份与恢复,也可以在配置中指定默认的并行程度。例如:

    RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

  指定在以后的备份与恢复操作中并行度为2,即同时开启2个通道进行备份与恢复。

  并行的数目决定了开启通道的个数,当然也可以在RUN中手动指定通道来决定备份与恢复的并行程度。如果指定了通道配置,将采用指定的通道,如果没有指定通道,将采用默认通道配置。有点儿绕是吧,我来给你白话一把。

  默认情况下,自动分配通道的并行度为1,如果你通过设置PARALLELISM设置了并行通道为2,那么在 RUN 块中,如果你没有单独通过ALLOCATE CHANNEL命令指定通道,它会默认使用2条并行通道,如果你在 RUN 命令块中指定了数个ALLOCATE CHANNEL,那么RMAN在执行备份命令时会以你设置的 CHANNEL 为准,而不管CONFIGURE中配置了多少个并行通道。

  需要注意的一点是,在BACKUP命令中有一个FILESPERSET参数,该参数是指RMAN建立的每个备份片段中所能包含的文件的最大数,该参数默认值为64,如果在执行BACKUP命令时没有指定该参数值,那么RMAN会仅使用第一个通道来执行备份,其他通道将处于空闲状态。关于通道数与FILESPERSET值之间也有一个大小关系,逻辑稍显复杂,这些就不多废话了,总之一条,FILESPERSET值不要小于你设定的通道数。

6 .CONFIGURE DATAFILE/ARCHIVELOG BACKUP COPIES设置备份文件冗余度

  前面也讲过,应该也还有印象吧,不记的了就赶紧回去翻翻。

7 .CONFIGURE MAXSETSIZE 配置备份集的最大尺寸

  该配置限制通道上备份集的最大尺寸,单位支持 B ytes 、KB、MB、GB,默认值是unlimited,关于这一点,在我花了整整500秒时间思考之后 …… 我睡着了!

  不过当我感受到你澎湃的心灵产生的悸动,并注意到你已经产生了想找出版社退货的想法之后,我马上就醒了过来,其实8.5.5.3小节介绍了相关的内容,相信正常情况下应该也不会有什么人改它吧,OK,本条跳过,继续,下一个。

8 .CONFIGURE ENCRYPTION 配置备份加密

   版本中新增的配置选项。数据库端配置好了Oracle Encryption Wallet后,即可通过CONFIGURE命令设置加密备份策略,加密策略既可以是针对整个数据库,也可以是表空间,或者归档文件。要打开备份加密,只需设置ENCRYPTION为ON即可:

    RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON;

  如果要禁止的话将ON改为OFF:

    RMAN> CONFIGURE ENCRYPTION FOR DATABASE OFF;

  表空间级的设置同理,这里就不演示了。

9 .CONFIGURE ENCRYPTION ALGORITHM 配置默认的加密算法

  视图V$RMAN_ENCRYPTION_ALGORITHMS中可以获取RMAN中支持的加密算法,视图中列出的加密算法可以在执行备份操作时指定,或者是通过CONFIGURE进行配置:

    RMAN> CONFIGURE ENCRYPTION ALGORITHM  ' AES256 ' ;

  如果没有指定加密算法,默认情况下会选择AES128。

10 .CONFIGURE ARCHIVELOG DELETION POLICY配置归档文件删除策略

  也是从10g版本开始提供的配置选项,用来指定归档文件的删除策略。

  在默认情况下归档文件备份完之后就可以被删除,不过对于配置了Data Guard环境的数据库系统,Primary数据库端的归档文件就不能说删就删,因为归档文件不仅它自己要用,与其在相同Data Guard环境的Standby数据库也要用,从严谨的角度来考虑,DBA必须要保证归档文件在Standby端成功接收并且应用之前,Primary端始终能保存该文件。

    提示:

    关于Data Guard环境的配置请参考本书第10章内容。

  在10g之前的版本,这一问题困扰了很多DBA,无奈之下不少人只能通过操作系统脚本的方式,在删除归档文件之前,首先对Standby端数据库的归档文件应用状态作判断,直到确认一切OK才敢在Primary端执行正常删除。

  10g 之后的版本,Oracle在RMAN中内置增加了一项归档文件的删除策略,终于,DBA可以仅通过一项配置就解决该问题了。该策略对应两个值:

  • APPLIED ON STANDBY :设置为该值时,当通过附加的 DELETE INPUT 子句删除Standby数据库仍需要的日志时,会提示RMAN-08137错误。不过用户仍然可以手动地通过 DELETE ARCHIVELOG 方式删除。
  • NONE :设置为该值时,则不启用归档文件的删除策略。默认情况下就是NONE。

  例如,启用APPLIED ON STANDBY:

    RMAN>  CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;

    new RMAN configuration parameters:

    CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY;

    new RMAN configuration parameters are successfully stored  

=================================================

  • |
  • 购买 ||||

阅读(1360) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~