关于重做日志文件和归档文件的问题

来源:互联网 发布:丸美白色之恋 知乎 编辑:程序博客网 时间:2024/05/17 09:32
作者:msnch    时间:02-10-03 07:57

关于重做日志文件和归档文件的问题

重做日志文件和归档文件有什么不一样,它们里面有包括什么内容,如要要恢复,以哪个为准,现在看了一书好模糊


作者:snowhite2000    时间:02-10-03 08:58

日志文件: online redo log file?
归档文件: Archived log files?

日志文件(redo log groups) 是循环使用的,如果你有三个groups 的话,循环了一次,原来的文件会被覆盖,如果一个满了,循环到下一个(wrap),把满的这个copy 起来,就是归档文件(archived log file)。


作者:msnch    时间:02-10-03 09:24

如DATABASE出了问题,要恢复的话以哪个为准呢?


作者:snowhite2000    时间:02-10-03 10:00

你这个问题越加会越大,滚雪球了。

你这个问题当初问的时候,是基于那个出发点呢?backup and recovery?
online redo log file 的作用是什么?记录数据库所有的变化。oracle 的commit 命令就是把所有的log buffer 写到redo log 里面,这样所有的改变才会变成永久的改变。commit 之后,其实你的数据文件并没有立刻改变。如果这个时候,你的数据库关闭了,有可能下次启动时,要靠redo log 里面的记录清理数据库文件。

为什么要归档?如果你昨天晚上做了数据库全备份,今天下午数据库出了问题,需要recover,你要recover到什么时候呢?如果你没有archived all log files,你只能restore 到昨天晚上你备份的时候。但是如果你的数据库坏掉,从昨天晚上备份后,到今天坏之前的redo log files 你都archived 了,最后一个online redo log file 也是好的,你就可以recover to point of failure。

剩下的你自己看书吧,不要问怎样自动archive log files 的问题了。

原创粉丝点击