一、概念
控制文件的主要任务是管理数据库的状态以及描述数据库的物理结构

二、所含有的信息
1、数据库名
2、数据库标识符(DBID)
3、数据库创建时间戳
4、数据库字符集
5、数据文件信息
6、临时文件信息
7、在线重做日志信息
8、近期的归档日志信息
9、表空间信息
10、RMAN备份文件信息,即RMAN资料库
11、检查点信息
12、损坏的数据块注册表
13、还原点信息
14、重设日志SCN
15、脏数据块的数量

三、数据库启动【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、查看控制文件自动备份的文件名

Oracle数据库 控制文件的更多相关文章

  1. Oracle数据库控制文件多路复用

    Oracle数据库控制文件多路复用多路复用控制文件,指的是在系统不同的位置上同时存放多个控制文件的副本,此时如果某个路径对应的磁盘发送物理损坏导致该控制文件损坏,就可以通过另一个磁盘上的控制文件进行恢 ...

  2. Oracle的控制文件

    一.控制文件 oracle的控制文件是极其重要的文件,它是一个较小的二进制文件. 记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息等等  在参数文件中描述其位置, ...

  3. Oracle数据库的文件以及Oracle体系架构

    第一部分.Oracle数据库的文件 1.参数文件:控制实例的行为的参数的集合 参数文件的作用 设定数据库的限制 设置用户或者进程的限制 设定数据库资源的限制 调整系统的性能 主要的参数文件 SGA_T ...

  4. Oracle数据库误删文件导致rman备份报错RMAN-06169解决办法

    Oracle数据库误删文件导致rman备份报错RMAN-06169解决办法 可能是误删文件导致在使用rman备份时候出现以下提示 RMAN-06169: could not read file hea ...

  5. oracle重建控制文件

    根据已有数据库创建新的控制文件#数据库必须是mounted或open状态 sql> alter database backup controlfile to trace; 可以使用以下快捷方式找 ...

  6. Oracle 重建控制文件

    前些天在做Oracle数据库恢复测试时,因为一些异常操作导致控制文件出了问题,数据库无法正常使用,这里记录一下重建控制文件的操作 一.使用sysdba用户登入数据库 此时普通用户已无法链接数据库 二. ...

  7. Oracle 重建控制文件一例

    环境:OEL 5.7 + Oracle 10.2.0.5 背景:在Oracle的运维过程中,时常会遇到一些场景是需要重建控制文件才可以解决的.本文的场景可以通过复制控制文件到新路径,运行一段时间后,再 ...

  8. Oracle的控制文件和日志文件

    --什么是控制文件 控制文件是数据库的一个二进制文件,它主要记录数据库的名称. 数据库的数据文件存放位置等信息. 一个控制文件只能属于一个数据库.如果控制文件丢失,这数据库就无法操作. --下面查询语 ...

  9. 关于oracle修复控制文件与数据文件不一致的问题----

    本小菜鸟周末鼓捣数据库关于rman恢复与备份方面的实验,结果不知道哪根筋搭错了,手一哆嗦,做了不知道什么操作,就出现了数据库打不开的严重状态,只能开启到mount状态,但是切换到open状态时就会报错 ...

随机推荐

  1. django xadmin 外键

    style_fields = {'db栏位名称': "fk-ajax"} 实体关系: Account (*)-->(1) user 表单控件: 下拉框 美化用了selecti ...

  2. Android蓝牙连接以及数据接收发送

    1.加入权限 <uses-feature android:name="android.hardware.bluetooth_le" android:required=&quo ...

  3. STL 阅读(浅析)

    写的不错,决定那这个看下.看的还是晕. http://luohongcheng.github.io/archives/

  4. c#.netGr idView1在div不局中

    <div style="margin:0 auto;text-align:center;" >//可以用GridView剧中 <asp:GridView ID=& ...

  5. POJ 2051

    http://poj.org/problem?id=2051 这个题目的大题意思就是给你一些ID,和ID所对应的周期,每隔它所对应的周期,它的任务就会执行,就会输出所对应的ID Register 20 ...

  6. poj1155

    题意:给定一个树形图,节点数量3000.叶子节点是用户,每个用户如果能看上电视会交一定的电视费.看上电视的条件是从根到该用户的路径全部被修好,修每条边有一个费用.在不亏损(用户交钱总额>=修路总 ...

  7. NoSQL之【MongoDB】学习(三):配置文件说明

    摘要: 继上一篇NoSQL之[MongoDB]学习(一):安装说明 之后,知道了如何安装和启动MongoDB,现在对启动时指定的配置文件(mongodb.conf)进行说明,详情请见官方. 启动Mon ...

  8. 加载ComboBox控件

    /// <summary> /// 加载公司 /// </summary> /// <param name="cbbCompany">Combo ...

  9. 如何手动添加Windows服务和如何把一个服务删除

    windows 手动添加服务方法一:修改注册表 在注册表编辑器,展开分支"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" ...

  10. docker基础命令

    docker version                                                                                       ...