一、概念
控制文件的主要任务是管理数据库的状态以及描述数据库的物理结构二、所含有的信息
1、数据库名2、数据库标识符(DBID)3、数据库创建时间戳4、数据库字符集5、数据文件信息6、临时文件信息7、在线重做日志信息8、近期的归档日志信息9、表空间信息10、RMAN备份文件信息,即RMAN资料库11、检查点信息12、损坏的数据块注册表13、还原点信息14、重设日志SCN15、脏数据块的数量三、数据库启动【3个阶段】
1、NOMOUNT阶段:此阶段读取参数文件2、MOUNT阶段:此阶段打开控制文件3、OPEN阶段:此阶段读取控制文件,找到并打开所有的在线数据文件和在线日志文件Oracle数据库启动时,通过读取参数文件中的control_files参数得知控制文件的路径,打开控制文件之后,可以得知数据文件和日志文件的路径,因此控制文件是实例启动过程中必不可少的一个因素。只要数据库处于打开(open)状态,就会有多个进程出于各自的需要,对控制文件中的参数进行读写操作,比如:CKPT(读写)、LGWR(读写)、ARCn(读写)、DBWn(读)等后台进程,有时还包括服务进程,比如在启动实例或者在创建/删除表空间时,服务进程都会对控制文件有读/写操作。
CKPT进程:该进程对控制文件的访问非常频繁。它将增量检查点的位置以3秒一次的频率更新到控制文件中;此外,在发起完全检查点之后,CKPT除了更新数据文件头部的检查点位置,还会把所有数据文件头部的检查点位置也更新到控制文件中。
四、数据库标识符(DBID)每个数据库都拥有一个编号(比如:1047875909),成为数据库标识符(DBID)。该编号在创建数据库时自动生成,并且Oracle不保证地球上两个同名数据库的DBID是唯一的。DBID作用:散布于数据库的各个文件中:控制文件、数据文件和日志文件的头部。通过DBID编号进行区分各个文件隶属于哪个数据库,所以不同数据库的各个文件之间不能替换。
获得DBID编号:
1、查询v$database.dbid字段2、查看控制文件自动备份的文件名