ORACLE(9i R2)控制文件-1

1.什么是控制文件?
控制文件是ORACLE数据库用来记录数据库物理结构信息的一个二进制文件.控制文件在数据库创建的同时被创建,
默认情况下ORACLE会创建一个控制文件镜像(最多可以有8个镜像)。ORACLE数据库MOUNT的时候会读取控制文件,
所以如果没有控制文件,数据库就不能被挂载(MOUNT)和打开(OPEN)。控制文件的内容由ORACLE 数据库自己管理,
在数据库运行的时候(OPEN STATE),数据库会不断更新控制文件的内容。

2.控制文件所内容
ORACLE控制文件由两部分组成,可重用部分(reusable)和不可重用部分(not reusable)。
可重用的部分的大小可用CONTROL_FILE_RECORD_KEEP_TIME参数来控制,该参数的默认值为7天,
即可重用的部份的内容保留7天,一周之后这部份的内容可能被覆盖。可重用部分用来存放RMAN相关信息,
如:备份数据文件名和备份重做日志名。这些信息以循环方式
被RMAN使用,并且只能被RMAN使用。
控制文件主要包含以下信息:
*数据库名(创建数据库时指定,DB_NAME和DB_ID可以用 DBNEWID 工具来修改,工具自9iR2开始提供)
*数据库ID(创建数据库的时候自动生成)
*数据库创建时间戳
*数据文件信息,包括数据文件名,检查点(checkpoints,offline or not)
*在线重做日志信息
*当前归档模式,如果是归档模式,归档日志的文件问和状态会被记录。
*表空间相关信息,如表空间名字
*RMAN catalog
*数据库坏块信息

3.控制文件的大小
控制文件的大小主要有以下参数决定,这些参数在创建数据库或在创建控制文件的时候指定。
* MAXLOGFILES
* MAXLOGMEMBERS
* MAXLOGHISTORY
* MAXDATAFILES
* MAXINSTANCES

MAXLOGFILES
参数指定可以为数据库创建的最大重做日志组数。参数默认值依赖于操作系统。
修改这个参数的唯一方法是重建数据库或者重建控制文件。
MAXLOGMEMBERS
参数指定一个重做日志组中最大重做日志成员数。参数最小值为1,最大值依赖于操作系统。
MAXLOGHISTORY
参数指定配置为必行服务器的可用于自动介质恢复的最大归档日志文件数量。参数最小值为0,
默认值为MAXINSTANCES值得倍数,随操作系统的不同有所差异。最大值受控制文件可达到的最大大小决定。
这个值只有当你使用配置为归档模式的并行服务器才有意义。
MAXDATAFILES
参数指定可以为数据库创建的最大数据文件数。最小为1,最大依赖于操作系统。
数据库可创建数据文件是还取决于初始化参数DB_FILES
MAXINSTANCES
参数指定可以挂在和打开数据库的最多实例数。参数最小值为1,最大值以来于操作系统。

4.控制文件 Sections
控制文件包含以下sections

* ARCHIVED LOG (reusable)
* BACKUP CORRUPTION (reusable)
* BACKUP DATAFILE (reusable)
* BACKUP PIECE (reusable)
* BACKUP REDOLOG (reusable)
* BACKUP SET (reusable)
* BACKUP SPFILE
* CKPT PROGRESS
* COPY CORRUPTION (reusable)
* DATABASE
* DATAFILE
* DATAFILE COPY (reusable)
* DATAFILE HISTORY
* DATABASE INCARNATION
* DELETED OBJECT (reusable)
* FILENAME
* FLASHBACK LOG
* INSTANCE SPACE RESERVATION
* LOG HISTORY (reusable)
* MTTR
* OFFLINE RANGE (reusable)
* RECOVERY DESTINATION
* REMOVABLE RECOVERY FILES
* RMAN STATUS
* RMAN CONFIGURATION
* REDO THREAD
* REDO LOG
* TABLESPACE
* TEMPORARY FILENAME
* THREAD INSTANCE NAME MAPPING
* PROXY COPY

可以通过视图v$controlfile_record_section来查看各个section的使用情况,包括记录数,大小,总共使用的记录数量等。
对于可重用的section,由参数control_file_record_keep_time决定保留的天数,默认为7天。section会被循环使用。
如果一个新的记录被添加到可重用section,但是最旧的可重用记录保留时间还没与超过control_file_record_keep_time
设定的时间,这个时候ORACLE会自动扩展这个可重用section.如果control_file_record_keep_time参数被设置为0,说明可重用
部分不允许控制,这个时候ORACLE会根据需要重用section.
参数control_file_record_keep_time对不可重用section不起作用,如数据文件,表空间等,除非对应的对象被删除,section
才会被重用。

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*