Oracle 快照控制文件(snapshot control file)

听说过Oracle 控制文件,还有快照控制文件这个说法呢?没错,尽管快照控制文件很少被提及,但确实是存在,只不过在使用RMAN时这个快照控制文件被使用。回顾一下 Oracle 控制文件,我们知道控制文件是Oracle体系结构中的重要组成部分之一,记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息,也记录了系统当前SCN的值等等。那快照控制文件也就是控制文件的一个副本,本文介绍了什么是快照控制文件以及何时被使用。

1、快照控制文件

快照控制文件是由RMAN恢复管理器在系统指定位置生成的当前控制文件的一个副本

我们知道控制文件在整个数据库生命期中在不断的时时刻刻发生变化,RMAN备份需要依赖于控制文件或恢复目录,也就是说需要知道备份开始时的检查点SCN以及所有文件结构信息并且在整个备份期间这些信息需要保持一致,但又不能锁定控制文件(锁定操作无法执行检查点,切换日志等)。因此既要保持一致性,又不影响数据库的正常操作。快照控制文件就应运而生了。RMAN只在备份或同步操作期间对实际控制文件进行一个短暂的锁定,并根据其内容来生成或刷新快照控制文件。一旦该动作完成之后,RMAN将切换到使用快照控制文件进行备份及同步操作。从而保证备份期间控制文件,数据文件等等的一致性。

综上所述,其主要作用是使用RMAN同步恢复目录或备份时能得到一个一致性的控制文件。

2、配置快照控制文件

a、快照控制文件位置
 快照控制文件的位置取决于不同的系统平台,如果启用了快速闪回区,缺省情况下,生成的快照控制文件并不位于闪回区
 Linux/Unix平台为: $ORACLE_HOME/dbs/[email protected]
 Windows平台为: %ORACLE_HOME%\database\[email protected]
 
b、查看快照控制文件位置
 [oracle@linux1 dbs]$ export ORACLE_SID=usbo
 [oracle@linux1 dbs]$ rman target /

 --查看快照控制文件的位置
 RMAN> show snapshot controlfile name;

 RMAN configuration parameters for database with db_unique_name USBO are:
 CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/db_1/dbs/snapcf_usbo.f'; # default

c、修改快照空文件位置
 sys@USBO> show parameter db_recov

 NAME                                TYPE                              VALUE
 ------------------------------------ --------------------------------- ------------------------------
 db_recovery_file_dest                string                            /u03/database/usbo/fr_area
 db_recovery_file_dest_size          big integer                      3852M

 sys@USBO> ho ls /u03/database/usbo/fr_area/USBO
 archivelog

 sys@USBO> ho mkdir -p /u03/database/usbo/fr_area/USBO/snap

 --使用configure命令来配置快照控制文件的位置,如下,我们修改到使用闪回区来存放
 RMAN> configure snapshot controlfile name to '/u03/database/usbo/fr_area/USBO/snap/snapcf_usbo.f';

 new RMAN configuration parameters:
 CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u03/database/usbo/fr_area/USBO/snap/snapcf_usbo.f';
 new RMAN configuration parameters are successfully stored

 --查看修改之后快照控制文件的位置
 RMAN> show snapshot controlfile name;

 RMAN configuration parameters for database with db_unique_name USBO are:
 CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u03/database/usbo/fr_area/USBO/snap/snapcf_usbo.f';

推荐阅读:

相关推荐