一、oracle控制文件介绍
1、ORACLE控制文件概念
Oracle控制文件是Oracle数据库的一个重要元素,用于记录数据库的结构信息和元数据。控制文件包含了数据库的物理结构信息、数据字典信息、表空间和数据文件的信息等。在Oracle数据库启动时,控制文件会被读取并验证数据库的完整性以确保数据库能够正常运行。如果控制文件损坏或丢失,数据库将无法启动。因此,备份和维护控制文件是数据库管理的重要工作之一。
2、ORACLE控制文件重要性
Oracle控制文件是Oracle数据库的重要组成部分之一,它记录了数据库的结构信息,包括数据库的文件名、数据文件和日志文件的位置、大小以及它们在数据库中的关系等。它还包括实例的配置参数和数据库状态信息。
在启动Oracle实例时,控制文件是必需的,因为它描述了数据库的结构信息,实例必须将这些信息加载到内存中才能访问数据库。当数据库发生结构变化时,如添加表空间或更改数据文件的名称,控制文件还将更新这些变化,以确保实例了解数据库的当前状态。
控制文件通常是在启动实例时由数据库自动创建的,如果控制文件被损坏或丢失,实例将无法启动。因此,对于安全和可靠性考虑,对控制文件的备份至关重要。
3、控制文件常用功能和见解
- 一个小的二进制文件
- 定义物理数据库的当前状态
- 要求:
- 在数据库启动期间处于MOUNT状态
- 操作数据库
- 链接到单个数据库
- 丢失可能需要恢复
- 初始大小由 CREATE DATABASE 决定大小
-
4、查看数据控制文件
通过查看PFILE看到有2个配置文件
到目录下查看到控制文件
启动的四个阶段中的MOUNT与 Control File有关
在MOUNT状态下挂载一下内容:
- 将数据库与先前启动的实例关联
- 定位并打开参数文件中指定的控制文件
- 读取控制文件,获取文件中的姓名和状态,得到联机重做日志信息。但是并不执行检查来验证数据文件和联机重做日志文件的存在性
5、控制文件内容
控制文件内容包含以下条目:
- 数据库名称和标识符
- 创建数据库的时间戳和表空间名称
- 数据文件和在线重做日志文件的名称和位置
- 当前在线重做日志文件序号
- 检查点的信息
- 撤销段的开始和结束
- 重做日志存档信息
- 备份信息
可以执行语句进行查询控制文件
strings control01.ctl | more
二、控制文件一些必要的操作
1、多路复用配置控制文件
每个ORACLE数据库应该至少有两个控制文件,分别存在不同的物理磁盘。如果控制文件由于磁盘故障而损坏,则必须关闭关联的实例。一旦修复了磁盘驱动器,就可以使用从另一个磁盘上完整拷贝的控制文件来恢复损坏的控制文件,并且可以重新启动实例。在这种情况下,不需要进行介质恢复。
将控制文存储在两个不同的磁盘上可以修改以下内容:
CONTROL_FILES=$HOME/ORADATA/u01/ctr101.ctl, $HOME/ORADATA/u02/ctr102.ctl
在这里u01和u02属于不同的磁盘上
下面是具体的操作:
1.首先我们要启动数据库(用sysdba登录)
2.修改初始化文件参数
ALTER SYSTEM SET control_filr = '$HOME/ORADATA/u01/ctr101.ctl,' , '$HOME/ORADATA/u02/ctr102.ctl' SCOPE=SPILE;
3.关闭数据库
shtdown immediate
4.拷贝控制文件
cp $HOME/ORADATA/u01/ctr101.ctl $HOME/ORADATA/u02/ctr102.ctl
5.然后在次进入数据库
6.启动数据库
startup
2、管理控制文件
有关控制文件状态和位置信息可以通过查询以下视图来检索
- V$CONTROLFILE:列出与实例关联的所有控制文件的名称
- V$PARAMETER:列出所有参数的状态和位置
- V$CONTROLFILE_RECORD_SECTION:列出控制文件的名称、状态和位置
基础的控制文件笔记就这些啦