srclient.dll
1、管制文件观点相关
数据库乐成启动、操纵所必需的一个二进制文件。当数据库使用时,oracle将继续不时的更新管制文件,因此,每当数据库处于“OPEN”状态时,必需确保管制文件可用于写。如果某些因素导致管制文件不成用,那么数据库也无法阐扬正常的作用。别的,每个管制文件只与一个数据库相联系关系。
2、 为什么需要管制文件
管制文件作为数据库的中心文件之一,其在数据库运行中起着要害的作用:
包括数据库打开时所需要的数据文件、联机日志文件以及其它相关文件等信息;
管制文件记载数据库的布局变动信息;譬如:当DBA添加、删除、重定名一个数据文件或许联机日志文件时,数据库将依此布局变动环境而更新管制文件;
记载着数据库未打开状态而必需要拜访的元数据信息;
3、管制文件内的内容
具体而言,管制文件内的内容包括以下内容:
数据库名
数据库创立工夫戳
联系关系的数据文件和联机日志文件名和门路
表空间信息
离线数据文件
日志汗青
归档日志信息
备份集和备份片信息
备份数据文件和联机日志文件信息
数据文件copy信息
当前日志sequence号
查抄点信息
数据库名和工夫戳源于数据库的创立,数据库名或许由初始化参数DB_NAME指定,或许在CREATE DATABASE语句中指定。
每当数据文件或redo文件添加、重名、删除时,管制文件会做相应的更新以反响这类物理布局的变动。这些变动是会被记载的,因此:
在数据库启动时,oracle可以确定命据文件、联机日志文件的打开。
假如需要数据库复原,oracle可以确定需要或许可用的文件。
因此,如果对数据库执行了物理布局变动(ALTER DATABASE),请实时备份数据库的管制文件。
4、管制文件布局
数据库的信息是存放在管制文件的差别局部之中。每个局部是对于数据库的某方面的一组记载集。譬如,管制文件一局部跟踪数据文件并包括一组记载,一笔记录对应一个数据文件。每个局部存储在管制文件的多个逻辑块上。在一个局部中,记载可以跨块记载。
管制文件包括以下范例的记载:
可轮回使用的记载
可轮回使用的记载长短要害信息记载。如果在需要时,可被掩盖使用。当所有可用记载槽都耗尽之后,数据库或许扩展管制文件,或许掩盖最早的记载以便存放新记载。这类记载包括以下范例:
日志汗青(log history)
OFFLINE RANGE
归档日志(ARCHIVE LOG)
备份集(BACKUP SET)
备份片(BACKUP PIECE)
备份数据文件(BACKUP DATAFILE)
备份联机日志文件(BACKUP REDOLOG)
数据文件拷贝(DATAFILE COPY)
备份谬误(BACKUP CORRUPTION)
复制谬误(COPY CORRUPTION)
已删除的工具(DELETED OBJECTS)
PROXY COPY
不成轮回使用的记载
不成轮回记载包括着要害信息,不会常常被点窜。别的,这类信息不克不及被擦写、掩盖。譬如:表空间、数据文件、联机日志文件、日志文件线程等信息。数据库永远不会掩盖这类信息,除非对应的工具已从表空间中删除。这类记载包括以下范例:
数据库信息
查抄点过程
联机日志线程、联机日志
数据文件
文件名(数据文件名)
表空间
长期数据文件名
rman配置信息
读、写管制文件块与读写数据文件块是纷歧致的。对管制文件的读写,oracle数据库直接从磁盘读写至PGA。每个过程分派一定命量的PGA内存用于管制文件块的读写。
5、有关管制文件参数
CONTROL_FILES:指定管制文件的门路。该参数指定一个或许多个管制文件名,以逗号分分开。数据库启动时,实例经由过程这个参数定位到管制文件。
CONTROL_FILE_RECORD_KEEP_TIME:该参数指定可重用的记载在管制文件中存储的最小天数。超越这个最小的天数,可重用的记载就有能够被掩盖。在一个新记载要添加如可重用的局部时,但该局部最早的可重用记载却未到达该参数设置的最小工夫值,此时,管制文件将会自动扩展。如果该参数设置为0,那么可重用局部从不会发作扩展,在需要使用空间时,记载老是被重用。
留神:
该参数不是强制所有满意到达参数设置的工夫的记载都要被重用,参数的界说是最小的工夫;
该参数仅利用于可重用的记载,对不成轮回使用的记载无效。
6、管制文件的扩展
无论在可轮回使用局部照旧在不成轮回使用局部,管制文件均反对扩展。
不成轮回使用局部(数据文件记载)
当管制文件中,不成轮回使用局部没有空的槽位,此时如果需要添加一个新的数据文件,则会发作管制文件扩展,因为该局部是不成轮回使用的,所以直到相关的工具被删除,不然则一直占用。
可轮回使用局部(归档日志记载)
可轮回使用的局部是反对被掩盖的。通常,当管制文件需要空闲空间时,会将最早的记载掩盖擦写。譬如:当归档日志局部没有空闲空间了,而新的归档日志发生需要空间空间。此时,最早发生的归档日志记载则会被最新发生的归档日志记载所掩盖。
如果CONTROL_FILE_RECORD_KEEP_TIME设置为0,那么管制文件仅反对重新操纵,而不会发作管制文件扩展。
数据库的管制文件增长能够取决于以下文件的数量或工夫:
备份
数据库发生的归档日志
信息存储在管制文件中的工夫
另有一些其它因素对应相应局部
管制文件扩展时的alert日志显示:
Tue Apr 19 16:44:52 2011
Expanded controlfile section11 from 28 to 109 records
Requested to grow by 81records; added 3 blocks of records
上述显示管制文件的section 11(归档日志局部)局部发作扩展。归档日志局部发作扩展的原因常常发作在redo切换频繁的零碎中。
7、管制文件相关的字典和视图
以下几个是与管制文件有关的数据库字典视图:
v$database:c从管制文件中显示数据库信息;
v$controlfile:列出管制文件名的视图
v$control_record_section:管制文件的记载section信息
v$parameter:显示初始化参数CONTROL_FILES界说的管制文件名。