欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-06-07 11:21:27
...

听说过Oracle 控制文件,还有快照控制文件这个说法呢?没错,尽管快照控制文件很少被提及,但确实是存在,只不过在使用RMAN时这个

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

1、快照控制文件

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

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

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

2、配置快照控制文件

a、快照控制文件位置
快照控制文件的位置取决于不同的系统平台,如果启用了快速闪回区,缺省情况下,生成的快照控制文件并不位于闪回区
Linux/Unix平台为: $ORACLE_HOME/dbs/snapcf_@.f
Windows平台为: %ORACLE_HOME%\database\snapcf_@.f

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';

更多详情见请继续阅读下一页的精彩内容

推荐阅读:

Oracle Undo 镜像数据探究

Oracle 回滚(ROLLBACK)和撤销(Undo)

Undo 表空间损坏导致无法open

Undo表空间失败的处理方法

Oracle Undo表空间重建与恢复

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