Chinaunix首页 | 论坛 | 博客
  • 博客访问: 325886
  • 博文数量: 61
  • 博客积分: 1445
  • 博客等级: 上尉
  • 技术积分: 435
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-08 16:04
文章分类

全部博文(61)

文章存档

2010年(61)

分类: Oracle

2010-02-23 09:47:31

8.5.8 是否对备份集进行压缩

   版本的RMAN中的BACKUP命令新增了一个AS COMPRESSED BACKUPSET的选项。如果在执行BACKUP命令时指定了该选项,备份集在创建过程中就会应用压缩算法,通过这种方式使用倒是挺简单的,也不需要其他额外的操作。例如:

    RMAN> BACKUP AS COMPRESSED BACKUPSET TABLESPACE SYSTEM;

    Starting backup at 15-APR-09

    using channel ORA_DISK_1

    channel ORA_DISK_1: starting compressed full datafile backupset

    channel ORA_DISK_1: specifying datafile(s) in backupset

    input datafile fno=00001 name=F:\ORACLE\ORADATA\JSSBOOK\SYSTEM01.DBF

    channel ORA_DISK_1: starting piece 1 at 15-APR-09

    channel ORA_DISK_1: finished piece 1 at 15-APR-09

    piece handle=F:\ORACLE\BACKUP\BAK_11KCIHRB_1_1 tag=TAG20090415T214059 comment=NONE

    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15

    channel ORA_DISK_1: starting compressed full datafile backupset

    channel ORA_DISK_1: specifying datafile(s) in backupset

    including current control file in backupset

    including current SPFILE in backupset

    channel ORA_DISK_1: starting piece 1 at 15-APR-09

    channel ORA_DISK_1: finished piece 1 at 15-APR-09

    piece handle=F:\ORACLE\BACKUP\BAK_12KCIHRQ_1_1 tag=TAG20090415T214059 comment=NONE

    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03

    Finished backup at 15-APR-09

  接着对相同表空间创建一个不压缩的备份集:

    RMAN> BACKUP TABLESPACE SYSTEM;

    Starting backup at 15-APR-09

    using channel ORA_DISK_1

    channel ORA_DISK_1: starting full datafile backupset

    channel ORA_DISK_1: specifying datafile(s) in backupset

    input datafile fno=00001 name=F:\ORACLE\ORADATA\JSSBOOK\SYSTEM01.DBF

    channel ORA_DISK_1: starting piece 1 at 15-APR-09

    channel ORA_DISK_1: finished piece 1 at 15-APR-09

    piece handle=F:\ORACLE\BACKUP\BAK_13KCIHS6_1_1 tag=TAG20090415T214126 comment=NONE

    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15

    channel ORA_DISK_1: starting full datafile backupset

    channel ORA_DISK_1: specifying datafile(s) in backupset

    including current control file in backupset

    including current SPFILE in backupset

    channel ORA_DISK_1: starting piece 1 at 15-APR-09

    channel ORA_DISK_1: finished piece 1 at 15-APR-09

    piece handle=F:\ORACLE\BACKUP\BAK_14KCIHSM_1_1 tag=TAG20090415T214126 comment=NONE

    channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02

    Finished backup at 15-APR-09

  列出两个备份集,对比看看:

    RMAN> LIST BACKUP OF TABLESPACE SYSTEM;

    List of Backup Sets

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

    BS Key  Type LV Size       Device Type Elapsed Time Completion Time

    -------  ---- -- ---------- ----------- ------------ ---------------

    29   Full    27.60M      DISK        00:00:09     15-APR-09

            BP Key: 96   Status: AVAILABLE  Compressed: YES  Tag: TAG20090415T214059

            Piece Name: F:\ORACLE\BACKUP\BAK_11KCIHRB_1_1

      List of Datafiles in backup set 29

      File LV Type    Ckp SCN Ckp Time  Name

      ---- -- ---- ---------- --------- ----

         1    Full     798005 15-APR-09 F:\ORACLE\ORADATA\JSSBOOK\SYSTEM01.DBF

    BS Key  Type LV Size       Device Type Elapsed Time Completion Time

    ------- ---- -- ---------- ----------- ------------ ---------------

    31  Full    129.20M     DISK        00:00:13     15-APR-09

            BP Key: 98   Status: AVAILABLE  Compressed: NO  Tag: TAG20090415T214126

            Piece Name: F:\ORACLE\BACKUP\BAK_13KCIHS6_1_1

      List of Datafiles in backup set 31

      File LV Type    Ckp SCN Ckp Time  Name

      ---- -- ---- ---------- --------- ----

         1    Full     798020 15-APR-09 F:\ORACLE\ORADATA\JSSBOOK\SYSTEM01.DBF

  从LIST BACKUP中的信息可以看出,压缩比还是比较理想。不过压缩备份集虽然能够节省一些存储空间,但肯定会降低备份和恢复时的速度,这中间如何取舍就取决于你的实际需求了。

    提示:

    这里显示创建不压缩的备份集反而费时更长,这是因为我们库较小,因此压缩所花费的时间,相比压缩后由于备份集缩小而节省出的写磁盘时间更短,更多的时间都是花在I/O而不是压缩备份集,因此不压缩的备份集花费时间更长了。

8.5.9 是否启用加密备份

  从10g R2版本开始,RMAN支持对备份集进行加密,括弧,俺说的是备份集哟,RMAN中创建的镜像复制并不支持加密。

  对备份集进行加密主要是为了保护备份集的安全,启用了加密措施后,创建的备份集在恢复时也必须要有相应的密钥才能够进行恢复。

  RMAN 提供三种加密的方式:透明模式、密码模式和双重模式。关于三种模式的特点的描述,请耐心等候,如果你很着急,想马上知道,往后翻到本章最后一节。

  RMAN 提供了两种方式设置加密备份:

  • CONFIGURE 命令。
  • SET ENCRYPTION 命令。

  两种方式都能够启用或禁用备份加密,其中CONFIGURE命令相当于进行预定义配置,设置之后除非显式修改,否则将持续有效。SET ENCRYPTION命令则是仅作用于当前会话,不过使用上更加灵活。SET ENCRYPTION优先级比较高,如果通过CONFIGURE命令进行配置后,又执行SET ENCRYPTION命令,则SET ENCRYPTION命令指定的配置将会覆盖CONFIGURE命令的配置。

  用CONFIGURE命令启用备份加密的操作非常简单(前提是端已经配置好了Oracle Encryption Wallet):

    RMAN> CONFIGURE ENCRYPTION FOR DATABASE ON;

    new RMAN configuration parameters:

    CONFIGURE ENCRYPTION FOR DATABASE ON;

    new RMAN configuration parameters are successfully stored

  然后再执行备份命令创建的备份集,就是加密备份集。

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

    RMAN> CONFIGURE ENCRYPTION FOR DATABASE OFF;

    old RMAN configuration parameters:

    CONFIGURE ENCRYPTION FOR DATABASE ON;

    new RMAN configuration parameters:

    CONFIGURE ENCRYPTION FOR DATABASE OFF;

    new RMAN configuration parameters are successfully stored

  CONFIGURE 命令不仅可以指定DATABASE级,还可以具体到表空间,例如:

    RMAN> CONFIGURE ENCRYPTION FOR TABLESPACE USERS ON ;

    tablespace USERS will be encrypted in future backup sets

    new RMAN configuration parameters are successfully stored

  使用SET ENCRYPTION命令就灵活多了,随时随地都可以:

    RMAN> SET ENCRYPTION ON IDENTIFIED BY encbak ONLY;

    executing command: SET encryption

  上述命令设置了一个名为encbak的密钥(这也正是传说中的密码模式),紧接其后创建的备份集在进行恢复时,就必须使用该密钥才能够进行正常的恢复操作。

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