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

归档日志文件的内容和联机重做日志文件的内容是不是一样的?请大家给我详细说说他俩的异同点。... 归档日志文件的内容和联机重做日志文件的内容是不是一样的? 请大家给我详细说说他俩的异同点。 展开
 我来答
祈晖代昂然
2019-12-17 · TA获得超过3968个赞
知道大有可为答主
回答量:3186
采纳率:32%
帮助的人:228万
展开全部
重做日志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中,将原来的覆盖,(即联机日志是循环使用的).一
般当产生一个检查点或联机日志写满一定程度时会产生一个归档日志文件.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式