1、控制文件概念相干
数据库乐成启动、操纵所必须的一个二进制文件。当数据库利用时,oracle将连续不绝的更新控制文件,因此,每当数据库处于“OPEN”状态时,必须确保控制文件可用于写。假如某些因素导致控制文件不可用,那么数据库也无法发挥正常的作用。别的,每个控制文件只与一个数据库相干联。
2、为什么必要控制文件
控制文件作为数据库的核心文件之一,其在数据库运行中起着关键的作用:
包罗数据库打开时所必要的数据文件、联机日记文件以及别的相干文件等信息;
控制文件记录数据库的布局变革信息;譬如:当DBA添加、删除、重定名一个数据文件大概联机日记文件时,数据库将依此布局变革环境而更新控制文件;
记录着数据库未打开状态而必须要访问的元数据信息;
3、控制文件内的内容
具体而言,控制文件内的内容包罗以下内容:
数据库名
数据库创建时间戳
关联的数据文件和联机日记文件名和路径
表空间信息
离线数据文件
日记汗青
归档日记信息
备份集和备份片信息
备份数据文件和联机日记文件信息
数据文件copy信息
当前日记sequence号
查抄点信息
数据库名和时间戳源于数据库的创建,数据库名大概由初始化参数DB_NAME指定,大概在CREATEDATABASE语句中指定。
每当数据文件或redo文件添加、重名、删除时,控制文件会做相应的更新以反应这类物理布局的变革。这些变革是会被记录的,因此:
在数据库启动时,oracle可以确定命据文件、联机日记文件的打开。
假设必要数据库规复,oracle可以确定必要大概可用的文件。
因此,假如对数据库实行了物理布局变革(ALTERDATABASE),请及时备份数据库的控制文件。
4、控制文件布局
数据库的信息是存放在控制文件的差别部分之中。每个部分是关于数据库的某方面的一组记录集。譬如,控制文件一部分跟踪数据文件并包罗一组记录,一条记录对应一个数据文件。每个部分存储在控制文件的多个逻辑块上。在一个部分中,记录可以跨块记录。
控制文件包罗以下范例的记录:
可循环利用的记录
可循环利用的记录黑白关键信息记录。假如在必要时,可被覆盖利用。当全部可用记录槽都耗尽之后,数据库大概扩展控制文件,大概覆盖最早的记录以便存放新记录。这类记录包罗以下范例:
日记汗青(loghistory)
OFFLINERANGE
归档日记(ARCHIVELOG)
备份集(BACKUPSET)
备份片(BACKUPPIECE)
备份数据文件(BACKUPDATAFILE)
备份联机日记文件(BACKUPREDOLOG)
数据文件拷贝(DATAFILECOPY)
备份错误(BACKUPCORRUPTION)
复制错误(COPYCORRUPTION)
已删除的对象(DELETEDOBJECTS)
PROXYCOPY
不可循环利用的记录
不可循环记录包罗着关键信息,不会常常被修改。别的,这类信息不能被擦写、覆盖。譬如:表空间、数据文件、联机日记文件、日记文件线程等信息。数据库永久不会覆盖这类信息,除非对应的对象已从表空间中删除。这类记录包罗以下范例:
数据库信息
查抄点进程
联机日记线程、联机日记
数据文件
文件名(数据文件名)
表空间
临时数据文件名
rman设置信息
读、写控制文件块与读写数据文件块是不同等的。对控制文件的读写,oracle数据库直接从磁盘读写至PGA。每个进程分配肯定命量的PGA内存用于控制文件块的读写。
5、有关控制文件参数
CONTROL_FILES:指定控制文件的路径。该参数指定一个大概多个控制文件名,以逗号分分隔。数据库启动时,实例通过这个参数定位到控制文件。
CONTROL_FILE_RECORD_KEEP_TIME:该参数指定可重用的记录在控制文件中存储的最小天数。高出这个最小的天数,可重用的记录就有大概被覆盖。在一个新记录要添加如可重用的部分时,但该部分最早的可重用记录却未到达该参数设置的最小时间值,此时,控制文件将会主动扩展。假如该参数设置为0,那么可重用部分从不会发生扩展,在必要利用空间时,记录总是被重用。
留意:
该参数不是逼迫全部满意到达参数设置的时间的记录都要被重用,参数的界说是最小的时间;
该参数仅应用于可重用的记录,对不可循环利用的记录无效。
6、控制文件的扩展
无论在可循环利用部分还是在不可循环利用部分,控制文件均支持扩展。
不可循环利用部分(数据文件记录)
当控制文件中,不可循环利用部分没有空的槽位,此时假如必要添加一个新的数据文件,则会发生控制文件扩展,由于该部分是不可循环利用的,以是直到相干的对象被删除,否则则不停占用。
可循环利用部分(归档日记记录)
可循环利用的部分是支持被覆盖的。通常,当控制文件必要空闲空间时,会将最早的记录覆盖擦写。譬如:当归档日记部分没有空闲空间了,而新的归档日记产生必要空间空间。此时,最早产生的归档日记记录则会被最新产生的归档日记记录所覆盖。
假如CONTROL_FILE_RECORD_KEEP_TIME设置为0,那么控制文件仅支持重新利用,而不会发生控制文件扩展。
数据库的控制文件增长大概取决于以下文件的数量或时间:
备份
数据库产生的归档日记
信息存储在控制文件中的时间
尚有一些别的因素对应相应部分
控制文件扩展时的alert日记表现:
TueApr1916:44:522011
Expandedcontrolfilesection11from28to109records
Requestedtogrowby81records;added3blocksofrecords
上述表现控制文件的section11(归档日记部分)部分发生扩展。归档日记部分发生扩展的缘故起因常常发生在redo切换频仍的体系中。
7、控制文件相干的字典和视图
以下几个是与控制文件有关的数据库字典视图:
v$database:c从控制文件中表现数据库信息;
v$controlfile:列出控制文件名的视图
v$control_record_section:控制文件的记录section信息
v$parameter:表现初始化参数CONTROL_FILES界说的控制文件名。
本文链接:https://wwwroot.co/guan-yu-oracle-shu-ju-beng-gui-fu-shu-ju-de-xin-xi.html
上一篇:红米手机数据规复的简单先容
网友评论
虚拟摄影师
回复信息一书,深度解析了数字化时代的智慧之选。