Oracle存储结构概述
存储结构是Oracle体系结构中比较好理解的一部分。既然是三大金刚之一,想然也是比较重要的部分。
Oracle数据库物理结构由三类必须的物理文件和其他外部文件组成。三类必须的文件分别是:
控制文件
联机重做日志文件
数据文件
所谓外部文件,指的是初始化参数文件、口令文件、归档重做日志文件、日志跟踪文件。一般是不必须的,或者可选的。比如数据库在归档模式下归档重做日志文件就是必须的。
1.1 控制文件
控制文件独一份。很多人采用的说法是控制文件有很多份。没错,从数量上来说是可以有很多份,而且这是符合Oracle安全性最佳实践。但从内容上来看,他们都是一样的。所以,在这里需要说明,控制文件不管在哪里,有多少,它们的内容都是一样的。
控制文件的内容通常不过数MB,但非常重要,它包含了很多文件的指针,包括:联机重做日志文件和数据文件的位置指针以及归档日志的位置指针。另外还存储着保证数据库完整性的所需信息,比如CKPT进程刷新的SCN和时间戳。
数据库在startup时会检查所有控制文件包括多路复用控制文件的可用性与一致性,如果不可用或不一致,数据库将无法打开,因为控制文件损坏了,数据库将无法保证当前的SCN号是正确的,也就是说,数据库实例不知道当前在数据库里的数据是否为最新的正确数据。同理,如果在数据库运行过程中,某一位置的控制文件不可用,那么数据库实例会当场挂起。当然,每个数据库默认有一份控制文件,但是按照Oracle的最佳实践原则,优秀的DBA总是将控制文件做多路复用。我们不需要考虑多路复用的控制文件如何同步的问题&