导读
本文介绍Oracle数据库控制文件control file相关内容
1、控制文件概述
-
控制文件是数据库中非常重要的一类文件,它记录的当前实例连接的数据库的结构和行为,并维护数据库的一致性。
-
初始化参数文件中定义了控制文件的位置;
-
控制文件是很小的二进制文件,一般不超过100MB。
-
从mount和open阶段一直在使用控制文件。
-
控制文件只能连接一个数据库。
-
控制文件丢失需要恢复。
-
控制文件最多8个,最少1个。多个是镜像的关系。
-
控制文件的初始化大小由create database定义。
2、控制文件包含的内容
控制文件包含如下的内容:
- 数据库的名字和标识;
- 数据库创建的时间戳;
- 表空间的名字;
- 数据文件和联机重做日志文件的位置和名字;
- 当前联机重做日志文件的sequence号码;
- 检查点信息;
- 回滚段的开始和结束;
- 联机重做日志的归档信息;
- 备份信息;
3、获得控制文件信息
利用如下视图和参数可以获得控制文件的相关信息:
- V$controlfile 列出实例的所有控制文件的名字和状态
- V$parameter 列出所有参数的位置和状态
- V$controlfile_record_Section 提供控制文件的记录部分的信息
- Show parameter control_files 列出控制文件的名字、状态、位置、个数。
3.1、查找控制文件路径
3.1.1、从参数文件获取控制文件路径
SYS@PROD11G> show parameter control_files;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_files string /u01/app/oracle/oradata/PROD11
G/control01.ctl, /u01/app/orac
le/oradata/PROD11G/control02.c
tl
3.1.2、从vparameter和 vspparameter视图获取控制文件路径
SYS@PROD11G>select name,value from v$parameter where name='control_files'
NAME VALUE
-------------------- ---------------------------------------------------------------------------------------------------
control_files /u01/app/oracle/oradata/PROD11G/control01.ctl, /u01/app/oracle/oradata/PROD11G/control02.ctl
SYS@PROD11G>
SYS@PROD11G> select value from v$spparameter where name like '%control%';
VALUE
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/PROD11G/control01.ctl
/u01/app/oracle/oradata/PROD11G/control02.ctl
3.1.3、从v$controlfile视图获取控制文件路径
SYS@PROD11G>select name,status from v$controlfile
NAME STATUS
-------------------------------------------------- --------------------------------------------------
/u01/app/oracle/oradata/PROD11G/control01.ctl
/u01/app/oracle/oradata/PROD11G/control02.ctl
SYS@PROD11G>