Oracle学习笔记:对控制文件的一点理解

Oracle的控制文件应如何理解呢?

  个人认为:控制文件记录了oracle数据库的一个状态。如同windows的系统还原功能,他记录里数据库的一个 有效的、 事务的、特定状态。他也是个数据库,里面记录了oracle数据库的下列信息:

  1.物理文件的名称、位置

  2.表空间名称、组成

  3.事务的scn

  4.日志历史

  5.rman历史

  6.数据库名称

  其他

为什么说他的尺寸主要受永久参赛和rman历史影响?

  个人理解:控制文件由若干表组成,这些表的大小是有永久参数max???决定的。创建控制文件时,就会根据这些指定的值或默认值插入相应的记录。之后这些记录的某些信息就会和oracle的状态保持一定的状态关系。如果有改变这些记录的行数,唯一的办法就是重建控制文件,以便生成相应的记录。至于rman,肯定是自从有了这个服务器管理的备份还原功能之后才影响控制文件的尺寸的,并且根据可以保持的历史记录数(control_file_record_keep_time)来影响到控制文件的尺寸;但如果不是有rman,就不会影响从至文件的尺寸,因为这种情况根本就不会写入相关的记录。

因为控制文件是数据库的逻辑和物理的状态,所以至关重要,必须保证其安全性、有效性,因此必须有冗余备份----也叫 多元化控制文件。

重建控制文件

重建控制文件就可以修改以上的状态信息。这样我们就可以:

  1.移动文件的位置

  2.修改文件的名称

  3.修改max永久参数

  4.修改创建数据库是的字符集

  5.是否归档

  6.重建redo文件

  7.强制logging

  等等。

通过重建控制文件,使oracle具备了sqlserver的分离、附加功能,就可以移动数据库了。

原文地址:https://www.cnblogs.com/jinzhenshui/p/1394259.html