控制文件概述:
1.基本含义
数据库控制文件(control file)是一个二进制文件,供数据库启动及正常工作时使用。在数据库运行过程中,控制文件会频繁地被Oracle修改,因此数据库处于开启(open)状态时控制文件必须可写。如果控制文件因故不能访问,数据库 也将无法正常工作。每个控制文件(control file)只能供一个Oracle数据库使用。
2.包括内容:
控制文件(control file)中包含了其所属数据库的信息,实例(instance)在启动,及正常工作期间都需要存取这些信息。控制文件的内容只能由Oracle修改,数据库管理员或用户都不应编辑控制文件。
控制文件(control file)中主要包含以下内容:
- 数据库名(database name)
- 数据库创建时的时间戳(timestamp)
- 属于此数据库的数据文件(datafile)及重做日志文件(redo log file)的名称与存储位置
- 表空间(tablespace)信息
- 脱机(offline)的数据文件
- 日志历史信息
- 归档日志(archived log)信息
- 备份集(backup set)与备份块(backup piece)信息
- 数据文件与重做日志的备份信息
- 数据文件复制信息
- 当前的日志序列号(log sequence number)
- 检查点(checkpoint)信息
数据库名(database name)和数据库创建时间戳(timestamp)都来源于数据库创建过程。数据库名既可以来自 DB_NAME 初始化参数中的设定值,也可以来自 CREATE DATABASE 语句中的指定值。
每当添加,重命名,或移除数据库中的数据文件(datafile)及重做日志文件(redo log file)时,控制文件(control file)就会被更新以反映这些数据库物理结构变化。进行这些记录的目的是:
- Oracle可以籍此在数据库启动(startup)时识别打开的数据文件和重做日志文件
- Oracle可以籍此在恢复数据库时识别当前可用及需要恢复的文件
因此,用户每次更改数据库的物理结构后(使用 ALTER DATABASE 语句),一定要及时备份控制文件(control file)。
控制文件(control file)还被用于保存检查点(checkpoint)信息。每隔三秒钟,检查点进程(checkpoint process,CKPT)将会在控制文件中记录重做日志(redo log)检查点位置(checkpoint position)信息。当数据库恢复时,重做日志中此点之前的重做条目(redo entry)都无需恢复,因为这些数据已经被写入数据文件(datafile)中了。
参考:oracle connecptes
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15720542/viewspace-608412/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15720542/viewspace-608412/