ORACLE联机重做日志文件与归档日志文件的区别。

ORACLE联机重做日志文件与归档日志文件的区别。,第1张

重做日志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不是这样的,归档日志和重做日志都是物理上的文件,只是存放的目录不同,而且重做日志的文件名不变,而归档日志的文件名是备份时系统生成的。

重做日志备份为归档日志后,系统就会把重做日志的内容清空,但文件依然存在,准备下一次使用。

重做日志纪录了你所有做过的dml语句,重做日志循环使用,写满一轮后就要覆盖前面的。如果你是用热备模式,当重做日志写满一个后就将内容写入归档日志,以备将来恢复数据用。

只有数据库运行在归档模式并且初始化参数ARCHIVE_LOG_START等于TRUE时,ARCn进程才能被启动,进行自动归档。

如果数据库运行在归档模式但ARCHIVE_LOG_START等于FALSE时,需要DBA手工归档。

重做日志文件也叫联机日志文件,一般数据库有几个日志文件(例如有三个,编号分别为1,2,3)先写1,当1满时再写2,当2满时再写3,当3满时1就归

档出来,产生一个文件写到磁盘上,这个文件就叫归档日志文件1归档出来后,新的联机日志文件又写到1中,将原来的覆盖,(即联机日志是循环使用的)一

般当产生一个检查点或联机日志写满一定程度时会产生一个归档日志文件

仅是个人总结:

总的来说:物理结构如图

细的来说:

1) 联机日志(非归档):

redo01log、redo02log、redo03log为联机文件,先存储到redo01lo3g,存满后存到redo02log,再到redo03log;存完后循环存到redo01log(覆盖以前的);

2) 控制文件:

Control01ctl、Control02ctl、Control03ctl数据库启动首先打开控制文件,然后是数据文件;

3) 数据文件:

dbf;

4)     参数文件:

不参与数据库的有效组成部分,即数据库启动时,不参与数据库的工作。但是我们的控制文件是由参数文件寻找的。

这种问题要回答好要求知识比较全面。

1 从 *** 作系统层次上看

看CPU 内存 swqp(交换分区)等使用率

2 从磁盘上看

主要看磁盘读写。可以用dd测磁盘读写的速度 也可以在业务高峰期检测磁盘的速率。

3 从数据库本身来看。

先要看数据库各个参数的值 。 如sga的大小,process的大小,redo日志的个数与大小等这些关系到性能的参数是否设置合理。

长期观察的方式就是看各个时期的AWR报告。里面有各种性能指标,以及按执行时间或资源排列的sql ,以及各种等待时间的排名。从这里面可以掌握数据库的长期的性能变化。

即时观察的方式就是利用各种sql 查询 数据库在当前时间的各个性能指标(AWR报告里面的各种指标也都是通过sql查询出来的)

还有对数据库整体的一个检查:

如 表的大小,表是否需要分区而没有分区,索引是否创建,索引是否失效,开发人员写的sql是否正确使用到了索引,频繁使用的sql是否有绑定变量,有频繁大批量增删改的表是否存在高水位。。。

额 总之,这个话题涉及的知识非常多,尽可能多的学习一些东西,祝你好运。

redo日志的作用是叫做重做日志文件。

ONLINE Redo log重做日志(online redo log )。

Oracle数据库所在服务器执行shutdown abort等命令使得在服务器重新启动之后,Oracle数据库正常的启动实例。

Oracle会使用重做日志,把数据库恢复到服务器掉电前的那一个时刻,从而使得数据库能正常的启动起来 。

在Oracle数据库中,至少会有两个重做日志组,而且每个组里面至少包含了一个重做日志文件。

日志组不会自动增加,在一个写满之后,会自动去写下一个。

在下一个被写满之后会又从第一个开始写起。

Archive redo log归档日志(archive log)主要用于硬件级别的错误。

这就要使用归档日志文件,通过归档日志文件。

把数据库恢复到归档日志所在的时间点上,然后再通过在线重做日志文件把数据库恢复到当前的时间点上。

以上就是关于ORACLE联机重做日志文件与归档日志文件的区别。全部的内容,包括:ORACLE联机重做日志文件与归档日志文件的区别。、Oracle物理结构中参数文件,控制文件,数据文件,日志文件之间的存储关系是什么、如何检查oracle数据库性能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9606143.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存