重做日志与归档日志有什么区别

来源:互联网 发布:用java编写计算器详解 编辑:程序博客网 时间:2024/06/08 02:35

http://www.itpub.net/thread-100230-1-1.html


jaunt

版主

版主

精华贴数
4
技术积分
22560
社区积分
1370
注册时间
2002-2-27
论坛徽章:
18
ITPUB元老日期:2005-02-28 12:57:002012新春纪念徽章日期:2012-02-13 15:10:582012新春纪念徽章日期:2012-02-13 15:10:582012新春纪念徽章日期:2012-02-13 15:10:582012新春纪念徽章日期:2012-02-13 15:10:58管理团队成员日期:2011-05-07 01:45:082011新春纪念徽章日期:2011-01-25 15:42:562011新春纪念徽章日期:2011-01-25 15:42:332011新春纪念徽章日期:2011-01-25 15:42:152011新春纪念徽章日期:2011-01-25 15:41:502011新春纪念徽章日期:2011-01-25 15:41:01会员2006贡献徽章日期:2006-04-17 13:46:34
  • 加好友
  • 发消息
 
2#
发表于 2003-3-5 09:42:37|只看该作者
重做日志redo log file是LGWR进程从Oracle实例中的redo log buffer写入的,是循环利用的。就是说一个redo log file(group) 写满后,才写下一个。
归档日志archive log是当数据库运行在归档模式下时,一个redo log file(group)写满后,由ARCn进程将重做日志的内容备份到归档日志文件下,然后这个redo log file(group)才能被下一次使用。

不管数据库是否是归档模式,重做日志是肯定要写的。而只有数据库在归档模式下,重做日志才会备份,形成归档日志。

一般来说,归档日志结合全备份,用于数据库出现问题后的恢复使用。
    

使用道具举报

   

fxkh

注册会员

一般会员

精华贴数
0
技术积分
354
社区积分
0
注册时间
2003-1-27
论坛徽章:
0
  • 加好友
  • 发消息
3#
发表于 2003-3-5 09:52:38|只看该作者
重做日志是一起写入归档日志,还是每个重做日志满了后分别各自写入归档日志呢 ?
  

使用道具举报

  
jaunt

版主

版主

精华贴数
4
技术积分
22560
社区积分
1370
注册时间
2002-2-27
论坛徽章:
18
ITPUB元老日期:2005-02-28 12:57:002012新春纪念徽章日期:2012-02-13 15:10:582012新春纪念徽章日期:2012-02-13 15:10:582012新春纪念徽章日期:2012-02-13 15:10:582012新春纪念徽章日期:2012-02-13 15:10:58管理团队成员日期:2011-05-07 01:45:082011新春纪念徽章日期:2011-01-25 15:42:562011新春纪念徽章日期:2011-01-25 15:42:332011新春纪念徽章日期:2011-01-25 15:42:152011新春纪念徽章日期:2011-01-25 15:41:502011新春纪念徽章日期:2011-01-25 15:41:01会员2006贡献徽章日期:2006-04-17 13:46:34
  • 加好友
  • 发消息
4#
发表于 2003-3-5 10:07:25|只看该作者
重做日志是循环使用的。比如说,有三个重做日志组A、B、C。那么,当A写满后,系统就调用ARCn进程,将A备份为归档日志,同时B已经开始使用了。
假设你只有两个组A、B,如果某种情况下,A正在备份,未结束,还不能继续使用,而B也写满了,这个时候,数据库就会出现挂起的情况。所以一般情况下,重做日志最好是三个组或者再多一点,而且大小要适当。
实际上,一个重做日志组满了后,就开始写入归档日志。不是等ABC都写满了,再归档,这样肯定就是出现挂起的情况了,Oracle不是这样的,


原创粉丝点击