oracle控制文件,日志文件的一些相关概念整理
原创
©著作权归作者所有:来自51CTO博客作者星殇弄月的原创作品,请联系作者获取转载授权,否则将追究法律责任
1) 联机日志(非归档):
redo01.log、redo02.log、redo03.log为联机文件,先存储到redo01.lo3g,存满后存到redo02.log,再到redo03.log;存完后循环存到redo01.log(覆盖以前的);
2) 控制文件:
Control01.ctl、Control02.ctl、Control03.ctl数据库启动首先打开控制文件,然后是数据文件;
3) 数据文件:
.dbf;
4) 参数文件:
不参与数据库的有效组成部分,即数据库启动时,不参与数据库的工作。但是我们的控制文件是由参数文件寻找的。
结构图如下:
二、控制文件对于Oracle的重要性
控制文件对于
Oracle数据库 来说,其作用就如同windows注册表一样,是非常重要的文件。如果控制文件出现了意外的损坏,那么此时Oracle系统很有可能无法正常启动。因此对于Oracle数据库的日常维护及管理中,保证控制文件的安全性是非常必要的。
在实际工作中,
Oracle管理员可以通过备份控制文件来提高控制文件的安全性。但是当控制文件出现损坏时,通过备份文件来恢复的话,会出现Oracle数据库在一段时间内的停机。因此最好还是采用多路复用来保障控制文件的安全。在采用多路复用的情况下,当某个控制文件出现损坏时,系统会自动启用另外一个没有问题的控制文件来启动Oracle数据库,所以不会出现停机的状况。
控制文件的多路复用的特点:
多路复用的原理其实很简单,就是在Oracle数据库服务器上将控制文件存放在多个磁盘分区或者多块硬盘上。Oracle数据库系统在需要更新控制文件的时候,就会自动同时更新多个控制文件。当其中一个控制文件出现损坏时,系统会自动启用另外的控制文件。只有当Oracle数据库管理员运气比较背的时候,即所有控制文件都出现损坏,此时Oracle数据库就无法正常启动了,需要手动启动,会造成部分丢失。不过只要将控制文件多路复用在多块硬盘上,一般来说控制文件一起损坏的纪律很小。所以采用多路复用控制文件可以在很大程度上提高控制文件的安全性。最重要的是,在控制文件转换的过程之中,不会有停机现象的产生。
所以通过把控制文件存放在不同的硬盘上,Oracle数据库就能够避免出现单点故障的风险。当采用多路复用技术启用多个控制文件时,Oracle数据库在更新控制文件时会同时更新这些控制文件。虽然有时候这可能会让
Oracle数据库 对控制文件的修改花费更多的时间,但是相对于风险来说,这点时间上的投资还是值得的。再说只要硬盘的性能比较好,那么这个时间的影响是很少的,甚至可以忽略不计。不过在采用多路复用的时候,最好不要将控制文件防止在网络上的服务器中。有时候如果系统在更新控制文件时刚好碰到网络性能不好甚至断网的情况下,那么这个控制文件的更新就需要耗用比较长的时间。
三、重做日志与归档日志的区别:
重做日志redo log file是LGWR进程从Oracle实例中的redo log buffer写入的,是循环利用的。就是说一个redo log file(group) 写满后,才写下一个。
归档日志archive log是当数据库运行在归档模式下时,一个redo log file(group)写满后,由ARCn进程将重做日志的内容备份到归档日志文件下,然后这个redo log file(group)才能被下一次使用。
不管数据库是否是归档模式,重做日志是肯定要写的。而只有数据库在归档模式下,重做日志才会备份,形成归档日志。
一般来说,归档日志结合全备份,用于数据库出现问题后的恢复使用。
重做日志是循环使用的。比如说,有三个重做日志组A、B、C。那么,当A写满后,系统就调用ARCn进程,将A备份为归档日志,同时B已经开始使用了。
假设你只有两个组A、B,如果某种情况下,A正在备份,未结束,还不能继续使用,而B也写满了,这个时候,数据库就会出现挂起的情况。所以一般情况下,重做日志最好是三个组或者再多一点,而且大小要适当。
实际上,一个重做日志组满了后,就开始写入归档日志。不是等ABC都写满了,再归档,这样肯定就是出现挂起的情况了,Oracle不是这样的。
归档日志和重做日志都是物理上的文件,只是存放的目录不同,而且重做日志的文件名不变,而归档日志的文件名是备份时系统生成的。
重做日志备份为归档日志后,系统就会把重做日志的内容清空,但文件依然存在,准备下一次使用。
上一篇:Oracle初步安装及建库
下一篇:Oracle日志文件
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
文件存储相关的一些东西整理
做App后端,特别是像IM这类,会有很多语音和图片之类的大大小小一堆文件在服务端
分布式文件系统 Seaweedfs FastDFS GridFs 文件存储