定义:
控制文件为二进制文件,初始化大小由CREATE DATABASE指定,可以使用RMAN备份
记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等
在参数文件中描述其位置,个数等等。通常采用分散放开,多路复用的原则。在mount阶段被读取,open阶段一直被使用
维护数据库一致性(数据库启动时会比较控制文件与联机日志文件中的ckpt,即起始scn号,如相等则正常启动,否则需要介质恢复)
一个控制文件只能属于一个数据库
控制文件的任意修改将写入到初始化参数中指定的所有控制文件中,读取时则仅读取第一个控制文件
控制文件只能连接一个数据库,控制文件的大小一般不要超过MB,最多为8个,最少一个,互为镜像
控制文件中包含的内容
数据库的名字、ID、创建的时间戳
表空间的名字
联机日志文件、数据文件的位置、个数、名字
联机日志的Sequence号码
检查点的信息
撤销段的开始或结束
归档信息
备份信息
启动阶段:mount
查看控制文件:select * from v$controlfile;
控制文件移动/增删:
1、停服务 SQL>shutdown immediate;
2、将文件copy到另外位置
3、修改pfile中控制文件的路径,可增加或减少控制文件;也可通过修改spfile参数中的control_files -- alter system ... scope = spfile | both |memory ,此时省略步骤4,5
4、通过指定pfile文件启动数据库 SQL>startup pfile=' ' ;
5、创建spfile SQL>create spfile=pfile
控制文件备份与恢复
控制文件文本化
SQL>alter database backup controlfile to trace as '地址/ctl.txt';