Oracle数据库的物理存储结构之数据库控制文件详解

数据库 Oracle
本文主要介绍了Oracle数据库的物理存储结构之数据库控制文件的知识,以及使用控制文件时的注意事项等,希望能够对您有所帮助。

Oracle数据库中,数据库控制文件维护着数据库的全局物理结构,用以支持数据库成功的启动和运行。创建数据库时,同时就提供了与之对应的数据库控制文件。在数据库使用过程中,Oracle不断的更新数据库控制文件,所以只要数据库是打开的,数据库控制文件就必须处于可写状态。如果,犹豫某些原因控制文件不能被访问,那么数据库也就不能正常的工作了。

每一个控制文件只能与一个Oracle数据库相关联。数据库控制文件包含了数据库实例的启动和正常操作时,访问数据库所需的关于数据库的信息。数据库控制文件的内容只有Oralce可以修改,数据库管理员和用户都不能对其进行编辑。

控制文件包含了以下信息:

  • 数据库名称
  • 数据库创建的时间戳
  • 相关的数据文件、重演日志文件的名称和位置
  • 表空间信息
  • 数据文件脱机范围
  • 日志历史
  • 归档日志信息
  • 备份组和备份块信息
  • 备份数据文件和重演日志信息
  • 数据文件拷贝信息
  • 当前日志序列数
  • 检查点(checkpoint)信息

数据库名称和时间戳源自数据库创建之时,数据库名称或是来自DB_NAME初始化从参数,或者来自Cteate Database语句使用的名称。

每当数据文件或重演日志文件被添加内容、重新命名或者直接从数据库删除时,控制文件都要进行更新以反应物理结构的变化。记录下这些变化后,Oracle就可以:

在数据库启动的时候,能够确定并打开数据文件和重演日子文件。

在必须要恢复数据库的时候,能够确定哪些文件是必须的、哪些文件是可用的。

PS:如果数据库的物理结构发生了改变(使用了Alert Database语句),用户应该立刻备份控制文件。

控制文件还记录了关于检查点的信息。每3秒,检查点进程(CKPT)就会在控制文件里记录重演日志文件的检查点位置信息。这些信息用于数据库的恢复过程,告诉数据库在这一点之前的已经记录下的重演条目不必进行恢复,因为它们已经被写入数据文件了。

由于控制文件对数据库的至关重要,所以联机存储着多个副本。这些文件一般存储在各个不同的磁盘上,以便将因磁盘试下哦引起的潜在危险降至最低程度。Oracle支持对同一个数据库并发的打开、书写多个相同的控制文件。通过为一个数据库在不同的磁盘上保存多个控制文件,可以幼小的降低对于控制文件可能发生的单点失败。例如,包含一个控制文件的磁盘崩溃了,如果Oracle试图访问这个被破坏的文件,当前实例就会失败,但是如果在不同的磁盘上保存了当前控制文件的复件,就可以重启一个实例而无需进行数据库恢复。

如果一个数据库所有的控制文件在操作的时候都丢失了,那么数据库实例就会失败,必须要进行介质恢复(media recover)。但是介质恢复必须要使用一个稍微旧一点的控制文件的备份,因为当前的控制文件备份不可用。所以为了保护控制文件,必须要注意以下几个方面:

每一个数据库都要使用多路复制的控制文件;

把每一个控制文件的复件保存在不同的物理磁盘上;

使用操作系统的镜像机制;

监控备份。

关于Oracle数据库的物理存储结构之数据库控制文件的知识就介绍到这里了,希望本次的介绍能够给您带来一些收获,谢谢!

【编辑推荐】

  1. Oracle数据库如何创建对象类型和对象类型表
  2. Oracle数据库中序列(SEQUENCE)的用法详解
  3. 虚拟机安装Oracle错误ORA-12514的解决方案
  4. SQL Server数据库实现全文检索的一个完整的例子
  5. Oracle数据库远程连接设置的四种方法及其注意事项
责任编辑:赵鹏 来源: 火魔网
相关推荐

2010-04-15 13:01:25

Oracel数据库

2009-11-19 17:25:12

Oracle数据库物理

2011-05-26 15:27:08

Oracle数据库

2009-02-09 12:52:32

文件加密Oracle数据库

2011-03-07 13:30:53

Oracle数据库

2011-08-29 16:41:14

OracleRMAN恢复数据文件的恢复

2011-05-19 13:25:14

Oracle数据库

2010-04-02 13:59:08

Oracle数据库

2010-04-14 15:14:11

Oracle数据库

2011-08-29 16:27:16

MySQL时间类型

2011-05-20 09:22:43

Oracle数据库体系结构

2011-03-29 10:47:49

ORACLE数据库

2010-09-09 08:42:28

MongoDB

2010-04-21 13:40:04

Oracle数据库

2011-04-11 13:19:41

Oracle数据库

2011-08-18 15:49:21

Oracle厉行计划

2011-05-17 15:02:15

ORACLE数据库备份

2009-05-21 10:20:54

Oracle 11g数据卫士备用数据库

2010-05-05 10:19:19

Oracle数据导

2011-07-27 08:56:32

Oracle数据库绑定变量软解析
点赞
收藏

51CTO技术栈公众号