ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 3.4 控制文件概述

3.4 控制文件概述

原创 Linux操作系统 作者:封烨 时间:2010-11-26 10:53:53 0 删除 编辑

数据库控制文件是一个二进制文件,供数据库启动及正常工作时使用。在数据库运行过程中,控制文件会频繁的被oracle修改,因此数据库处于开启状态时控制文件必须可写。如果控制文件因故不能访问,数据库也无法正常工作。
     每个控制文件智能供一个oracle数据库使用。
3.4.1 控制文件的内容
     控制文件中包含了其所属数据库的信息,实例在启动及正常工作期间都需要存取这些信息。控制文件的内容只能由oracle修改,数据库管理员或用户都不应编辑控制文件。
     控制文件中主要包含以下内容:
     1. 数据库名
     2. 数据库创建时的时间戳
     3. 属于此数据库的数据文件及重做日志文件的名称与存储位置
     4. 表空间信息
     5. 脱机的数据文件
     6. 日志历史信息
     7. 归档日志信息
     8. 备份集与备份块信息
     9. 数据文件与重做日志的备份信息
     10. 数据文件复制信息
     11. 当前的日志序列号
     12. 检查点信息
     数据库名和数据库创建时间戳都来源于创建过程。数据库名既可以来自DB_NAME初始化参数中的设定值,也可以来自create database语句中的指定值。
     每当添加,重命名,或移除数据库中的数据文件及重做日志文件时,控制文件就会被更新以反映这些数据库物理结构的变化。记性这些记录的目的是:
     oracle可以藉此在数据库启动时识别打开的数据文件和重做日志文件。
     oracle可以藉此在恢复数据库时识别当前可用及需要恢复的文件。
     因此,用户每次更新数据库的物理结构后(使用alter database语句),一定要及时备份控制文件。
     控制文件还会被用于保存检查点信息。每隔三秒钟,检查点进程将会在控制文件中记录重做日志检查点位置信息。当数据库恢复时,重做日志中此点之前的重做条目都无需恢复,因为这些数据已经被写入数据文件中了。
3.4.2 多重控制文件
     如同重做日志文件一样,oracle也可以为一个数据库同时维护多个完全相同的控制文件。通过在不同磁盘上为一个数据库存储多重控制文件,可以有效的避免控制文件的单点脆弱性。当一个包含控制文件的磁盘发生故障时,如果oracle试图访问这个控制文件就会导致当前的实例出现故障。但如果其他磁盘中存在此控制文件的备份,实例可 以被立即重新启动而无需进行数据库恢复。
     如果一个数据库的所有控制文件永久丢失了,那么示例将终止且需要进行介质恢复。如果没有当前控制文件的副本而必须使用较早的备份,那么介质恢复过程将会比较复杂。因此oracle强烈建议用户:
     1. 在每个数据库中使用多重控制文件。
     2. 将控制文件的副本存储在不同的物理磁盘上。
     3. 使用操作系统的镜像功能。
     4. 监控备份工作。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10356975/viewspace-680346/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: instr的用法
下一篇: 3.3 数据文件概述
请登录后发表评论 登录
全部评论

注册时间:2010-11-26

  • 博文量
    43
  • 访问量
    104757