当前位置: 首页 > Oracle, oracle 10g, oracle 11g > 正文

oracle 11g新特性-控制文件延迟备份

同学分享了一篇关于11gR2控制文件延迟备份的文章,看了之后感觉很有意思,就测试了下。在10g版本,开启归档模式并且在RMAN中配置控制文件自动备份后,当数据库结构发生变化,就会触发控制文件的备份,并且记录在告警日志中,如下测试:

10g版本测试:

[oracle@source flash_recovery_area]$ rman target /

Recovery Manager: Release 10.2.0.4.0 - Production on Sun Nov 10 18:35:34 2013

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: SOURCE (DBID=2948128830)

RMAN> show CONTROLFILE AUTOBACKUP;

using target database control file instead of recovery catalog
RMAN configuration parameters are:
CONFIGURE CONTROLFILE AUTOBACKUP ON;

SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     23
Next log sequence to archive   25
Current log sequence           25

下面创建表空间,看看控制文件自动备份情况。

SQL> create tablespace ts_test datafile '/u01/app/oracle/oradata/source/ts_test01.dbf' size 10M;

Tablespace created.

告警日志已经记录控制文件自动备份的信息。

Sun Nov 10 18:37:36 2013
create tablespace ts_test datafile '/u01/app/oracle/oradata/source/ts_test01.dbf' size 10M
Sun Nov 10 18:37:37 2013
Starting control autobackup
db_recovery_file_dest_size of 10240 MB is 0.07% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup.
Control autobackup written to DISK device
        handle '/u01/app/oracle/flash_recovery_area/SOURCE/autobackup/2013_11_10/o1_mf_s_831148657_97yrhl82_.bkp'
Completed: create tablespace ts_test datafile '/u01/app/oracle/oradata/source/ts_test01.dbf' size 10M

删除这个新建的表空间,看看控制文件备份情况。

SQL> drop tablespace ts_test;

Tablespace dropped.

告警日志中会立即出现控制文件自动备份的信息。

Sun Nov 10 18:38:16 2013
drop tablespace ts_test
Sun Nov 10 18:38:16 2013
Starting control autobackup
Control autobackup written to DISK device
        handle '/u01/app/oracle/flash_recovery_area/SOURCE/autobackup/2013_11_10/o1_mf_s_831148696_97yrjrty_.bkp'
Completed: drop tablespace ts_test	

到控制文件自动备份的路径下也可以看到这些备份文件。

[oracle@source 2013_11_10]$ pwd
/u01/app/oracle/flash_recovery_area/SOURCE/autobackup/2013_11_10
[oracle@source 2013_11_10]$ ls
o1_mf_s_831148657_97yrhl82_.bkp  o1_mf_s_831148696_97yrjrty_.bkp

可见,在10g版本中,当数据库运行在归档模式,并且在RMAN中设置了控制文件自动备份,每当数据库结构发生变化的时候,都会立即触发控制文件的自动备份,那么在短时间内如果频繁修改数据库结构,就会多次备份控制文件,这样不但占用磁盘空间而且影响性能。

在11g版本,引入了控制文件延迟备份的特性,在数据库结构变化后,不会立马备份控制文件,而是在最后一次数据库结构发生变化6分钟后,再备份控制文件。

C:\Windows\system32>rman target /

恢复管理器: Release 11.2.0.1.0 - Production on 星期日 11月 10 17:18:34 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

连接到目标数据库: DBDREAM (DBID=2326242578)

RMAN> show  CONTROLFILE AUTOBACKUP;

使用目标数据库控制文件替代恢复目录
db_unique_name 为 DBDREAM 的数据库的 RMAN 配置参数为:
CONFIGURE CONTROLFILE AUTOBACKUP ON;

17:17:21 SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            D:\ARCH
最早的联机日志序列     1020
下一个存档日志序列   1022
当前日志序列           1022

删除一个表空间。

17:23:10 SQL> drop tablespace TBS16K INCLUDING CONTENTS;

表空间已删除。

看看告警日志信息。

Sun Nov 10 17:23:12 2013
drop tablespace TBS16K INCLUDING CONTENTS
Completed: drop tablespace TBS16K INCLUDING CONTENTS

告警日志只记录表空间被删掉,并没有关于控制文件自动备份的信息,而且也没有生成备份文件。几分钟后,生成了备份文件,告警日至依然没有这部分信息,但是在m000进程的trace文件里记录了这一过程。

Starting control autobackup

*** 2013-11-10 17:31:27.333
Control autobackup written to DISK device
	handle 'D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_10\O1_MF_S_831144685_97YNMGJS_.BKP'

在闪回恢复区也可以看到控制文件的备份。

D:\app\stream\flash_recovery_area\dbdream\AUTOBACKUP\2013_11_10>dir/b
O1_MF_S_831144685_97YNMGJS_.BKP

既然11g在数据库结构发生变化后,延迟6分钟再备份控制文件,为的就是在频繁修改数据库结构时,不要每一次都备份控制文件,下面验证下。

17:34:56 SQL> drop tablespace TBS8K INCLUDING CONTENTS;

表空间已删除。

过几分钟,在修改下数据库结构。

17:39:56 SQL> alter tablespace users add datafile 'D:\APP\STREAM\ORADATA\DBDREAM\USERS02.dbf' size 10M;

表空间已更改。

果然,在17:46:30只备份了一次控制文件。

*** 2013-11-10 17:46:30.424
Control autobackup written to DISK device
	handle 'D:\APP\STREAM\FLASH_RECOVERY_AREA\DBDREAM\AUTOBACKUP\2013_11_10\O1_MF_S_831145588_97YOHOO3_.BKP'

可见,在11gR2版本,控制文件自动备份是在最后一次数据库结果发生变化后的6分钟之后。12C版本是否也是这样呢?下面看下12C的测试。

[oracle@dbdream ~]$ rman target /

Recovery Manager: Release 12.1.0.1.0 - Production on Fri Aug 16 12:25:31 2013

Copyright (c) 1982, 2013, Oracle and/or its affiliates.  All rights reserved.

connected to target database: DBDREAM (DBID=2364849259)

RMAN> show CONTROLFILE AUTOBACKUP;

using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name DBDREAM are:
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default

在12C版本,控制文件自动备份默认情况下就已经是开启状态了。

[oracle@dbdream ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Fri Aug 16 12:27:51 2013

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     23
Next log sequence to archive   25
Current log sequence           25

下面看下12C是否也延续了11gR2的这个特性。

12:30:12 SQL> create tablespace ts_test12c datafile '/u01/app/oracle/oradata/DBDREAM/datafile/ts_test12c01.dbf' size 10m;

表空间已创建。

看下告警日志信息。

Fri Aug 16 12:30:15 2013
create tablespace ts_test12c datafile '/u01/app/oracle/oradata/DBDREAM/datafile/ts_test12c01.dbf' size 10m
Completed: create tablespace ts_test12c datafile '/u01/app/oracle/oradata/DBDREAM/datafile/ts_test12c01.dbf' size 10m

12C的告警日志和11gR2是一样的,只记录更改信息不记录控制文件的自动备份信息。在9分钟后,生成了备份信息,并且也在m000进程的trace文件里记录这一过程。

*** 2013-08-16 12:39:34.895
Control autobackup written to DISK device
        handle '/u01/app/oracle/fast_recovery_area/DBDREAM/autobackup/2013_08_16/o1_mf_s_823610372_90vc85w1_.bkp'

看来12cR1版本这一点和11gR2是一样的,也采用控制文件延迟自动备份的功能。

本文固定链接: http://www.dbdream.com.cn/2013/11/oracle-11g%e6%96%b0%e7%89%b9%e6%80%a7-%e6%8e%a7%e5%88%b6%e6%96%87%e4%bb%b6%e5%bb%b6%e8%bf%9f%e5%a4%87%e4%bb%bd/ | 信春哥,系统稳,闭眼上线不回滚!

该日志由 dbdream 于2013年11月11日发表在 Oracle, oracle 10g, oracle 11g 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: oracle 11g新特性-控制文件延迟备份 | 信春哥,系统稳,闭眼上线不回滚!
关键字: , , , ,

oracle 11g新特性-控制文件延迟备份:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter