说明:
rman中有一个比较好用的功能就是自动备份控制文件,而且同时还备份spfile文件。这对于不使用恢复目录而使用控制文件作为保存恢复信息的备份策略来说,尤为重要!
RMAN> show controlfile autobackup; --查看数据库是否开启控制文件自动备份。
一般情况下有两种事件触发控制文件自动备份。
1、每个rman的backup或copy命令都会触发自动备份。也就是说每次执行部分备份或者完全备份时,都会执行控制文件和spfile文件的自动备份。2、结构发生变化,比如增加表空间、改变表空间大小、增加日志文件组等等。 下面就是简单的一个测试: RMAN> configure controlfile autobackup off;
旧的 RMAN 配置参数: CONFIGURE CONTROLFILE AUTOBACKUP ON; 新的 RMAN 配置参数: CONFIGURE CONTROLFILE AUTOBACKUP OFF; 已成功存储新的 RMAN 配置参数
RMAN> run { 2> allocate channel d1 type disk ; 3> copy level 0 datafile 3 to 'd:\backup\dfile3.dbf'; 4> }
分配的通道: d1 通道 d1: sid=11 devtype=DISK
启动 copy 于 13-8月 -07 通道 d1: 已复制数据文件 3 输出文件名=D:\BACKUP\DFILE3.DBF recid=5 stamp=630514485 完成 copy 于 13-8月 -07 释放的通道: d1
RMAN> configure controlfile autobackup on;
旧的 RMAN 配置参数: CONFIGURE CONTROLFILE AUTOBACKUP OFF; 新的 RMAN 配置参数: CONFIGURE CONTROLFILE AUTOBACKUP ON; 已成功存储新的 RMAN 配置参数
RMAN> run { 2> allocate channel d1 type disk; 3> copy level 0 datafile 4 to 'd:\backup\dfile4.dbf'; 4> }
分配的通道: d1 通道 d1: sid=11 devtype=DISK
启动 copy 于 13-8月 -07 通道 d1: 已复制数据文件 4 输出文件名=D:\BACKUP\DFILE4.DBF recid=6 stamp=630514604 完成 copy 于 13-8月 -07
启动 Control File and SPFILE Autobackup 于 13-8月 -07 段 handle=D:\ORACLE\ORA92\DATABASE\C-1928236122-20070813-02 comment=NONE 完成 Control File and SPFILE Autobackup 于 13-8月 -07 释放的通道: d1
下面来介绍关于 结构发生改变引起的控制文件自动备份:
SQL> create tablespace hh datafile 'd:\ \oradata\hh01.dbf' size 10M;
表空间已创建。
查看alert日志,发现以下内容:
Mon Aug 13 15:59:23 2007 create tablespace hh datafile 'd:\ \oradata\hh01.dbf' size 10M Mon Aug 13 15:59:23 2007 Starting control autobackup Control autobackup written to DISK device handle 'D:\ORACLE\ORA92\DATABASE\C-1928236122-20070813-03' Completed: create tablespace hh datafile 'd:\oracle\oradata\h
我们简单看一下自动备份的控制文件及spfile文件的格式及命名规则: c-IIIIIIIIII-YYYYMMDD-QQ c ------------------------控制文件 IIIIIIIIII---------DBID YYYYMMDD------------时间戳 QQ----------------------序号00-FF,16进制表示