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

全部博文(61)

文章存档

2010年(61)

分类: Oracle

2010-01-19 11:16:42

数据文件的备份

  有两种方式指定数据文件的名称(即数据文件详细路径)和FILE_ID。这两项信息都可以从数据字典DBA_DATA_FILES中查询,例如:

    SQL> SELECT FILE_ID,FILE_NAME FROM DBA_DATA_FILES;

       FILE_ID FILE_NAME

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

             1 F:\ORACLE\ORADATA\JSSBOOK\SYSTEM01.DBF

             2 F:\ORACLE\ORADATA\JSSBOOK\UNDOTBS01.DBF

             3 F:\ORACLE\ORADATA\JSSBOOK\SYSAUX01.DBF

             4 F:\ORACLE\ORADATA\JSSBOOK\USERS01.DBF

             5 F:\ORACLE\ORADATA\JSSBOOK\SCOTT_TBS01.DBF

  实际上,如果前面你对RMAN的提示信息看得足够认真,完全不需要查询 DBA_DATA_FILES ,在整库备份和LIST操作时都显示了数据文件名称和序号。

  接下来尝试通过 BACKUP DATAFILE 命令备份USERS表空间的数据文件:

    RMAN> BACKUP DATAFILE 'F:\ORACLE\ORADATA\JSSBOOK\USERS01.DBF' ;

    Starting backup at 29-MAR-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=00004 name=F:\ORACLE\ORADATA\JSSBOOK\USERS01.DBF

    channel ORA_DISK_1: starting piece 1 at 29-MAR-09

    channel ORA_DISK_1: finished piece 1 at 29-MAR-09

    piece handle=F:\ORACLE\PRODUCT\10.2.0\DB_2\DATABASE\0EKB5694_1_1 tag=TAG20090329T164732 comment=NONE

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

    Finished backup at 29-MAR-09

    提示:

    在使用BACKUP DATAFILE命令时即可以指定DATAFILE名称,也可以指定FILE_ID,比如上述执行的命令完全等价于BACKUP DATAFILE 4。

  如果要查看指定数据文件的备份,可以用如下命令:

    RMAN> LIST BACKUP OF DATAFILE n;

  注:n=指定的数据文件序号,如果需要备份的数据文件有多个,n=多个序号,中间以逗号分隔即可,指定的序号在备份中必须存在对应的数据文件,否则会报错。

8.3.4   控制文件的备份

  控制文件在Oracle中的重要性是毋庸置疑的,你看,连RMAN都给予特殊的照顾,在RMAN中备份控制文件的方式那是相当灵活,相当多。

  • 手动执行备份命令,例如:

    RMAN> BACKUP CURRENT CONTROLFILE;

    Starting backup at 29-MAR-09

    using channel ORA_DISK_1

    channel ORA_DISK_1: starting full datafile backupset

    channel ORA_DISK_1: specifying datafile(s) in backupset

    including current control file in backupset

    channel ORA_DISK_1: starting piece 1 at 29-MAR-09

    channel ORA_DISK_1: finished piece 1 at 29-MAR-09

    piece handle=F:\ORACLE\PRODUCT\10.2.0\DB_2\DATABASE\0IKB5APP_1_1 tag=TAG20090329T180441 comment=NONE

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

    Finished backup at 29-MAR-09
  • 执行BACKUP命令时指定INCLUDE CURRENT CONTROLFILE子句,例如:
    RMAN> BACKUP DATABASE INCLUDE CURRENT CONTROLFILE;

  不仅限于 DATABASE ,执行 BACKUP 命令备份任何文件时都可以指定 INCLUDE CURRENT CONTROLFILE 子句,甚至是 BACKUP CURRENT CONTROLFILE 。另外你不妨猜猜,执行 BACKUP CURRENT CONTROLFILE INCLUDE CURRENT CONTROLFILE 命令时,会备份几次控制文件呢?

  • 备份的第一个数据文件。
    RMAN> BACKUP DATAFILE 1;

  同理,备份 SYSTEM 表空间也会触发控制文件的自动备份。

  • 通过CONFIGURE命令将CONTROLFILE AUTOBACKUP置为ON。
    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

  当 AUTOBACKUP 被置为 ON 时, RMAN 做任何备份操作,都会自动对控制文件做备份。

  如果要查看备份的控制文件,可以通过以下命令进行:

    RMAN> LIST BACKUP OF CONTROLFILE;

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

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