免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 11588 | 回复: 10
打印 上一主题 下一主题

归档模式和非归档模式的理解 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-15 18:06 |只看该作者 |倒序浏览
重做日志有两种类型,一种是归档模式,一种是非归档模式
书上是这么说的,归档模式就是保存所有的事务日志,相反非归档就是不保存旧事务日志。
我理解归档模式是这么工作的:当有对数据库有dml和其它的事务处理的时候,日志写进程LGWR会把你的语句写入到日志文件LOG-A中,然后数据库会把你需要该的数据调到内存中,等修改完成后(修改的事务也会被记录到LOG-A中),不知道在什么情况下,会把脏数据写回磁盘。等LOG-A被写满后,发生日志且换,此时CKPT会被触发,CKPT告知控制文件有日志且换发生,等CKPT工作完后,数据库又开始工作了,新产生的日志会被写到LOG-B中,等LOG-B也被写满了,又要发生且换了,此时归档进程会被唤起,LOG-A中的数据要被copy到一个文件里面(我是这么想的,我不知道这个文件叫什么名字),然后数据库的事务日志又源源不断的写到LOG-A中,按照这种工作方式,你的数据库即使出现问题也会被回复到down机前的最后一刻的状态。
非归档是不保存就日志的,就是LOG-A满后且换到LOG-B(不知道此时脏数据会不会被写回磁盘?),LOG-B满后再且换回LOG-A此时,LOG-A中的旧数据会被覆盖。书上术这种模式下的数据恢复是有限的,因为如果在一个记录正好被填满并进行交换时断电,以前的信息会丢失。我有点不理解,如果正常情况下日志且换,脏数据会回写,也就是LOG-A且换到LOG-B的时候,LOG-A中事务信息所涉及的到数据会被写盘,写完后那么LOG-A中的事务信息就没有用了,且换到LOG-B后,在写满LOG-B即将发生且换的时候断电,只要把LOG-B中的事务信息读出来,不就全恢复了么????怎么还会丢失呢???
我知道我写的东西里面有很多问题和很多错误,我希望大家都来积极探讨,因为这是数据库里面的一个很重要的知识点,准确的理解了这些,再做数据恢复的时候就容易的多了。。

论坛徽章:
0
2 [报告]
发表于 2004-06-16 09:39 |只看该作者

归档模式和非归档模式的理解

这么好的帖子怎么就没有人回呢???????

论坛徽章:
0
3 [报告]
发表于 2004-06-16 15:28 |只看该作者

归档模式和非归档模式的理解

重做日志有两种类型,一种是归档模式,一种是非归档模式
___________________________
这种说法不合适。重做日志有联机重做日志和归档重做日志。归档日志就是把联机日志保存下来的结果。
楼主对一些基本概念的理解好象还不是很透彻,建议找些英文原版的资料来读读。现在翻译的书有时让人越看越糊涂!

论坛徽章:
0
4 [报告]
发表于 2004-06-16 17:20 |只看该作者

归档模式和非归档模式的理解

数据库写入器会在以下两种情况,执行从内存到磁盘的数据块写入:
1.缓存中不能够为服务器进程从磁盘读入的数据块提供足够的空间。
2.oracle需要执行一个检查点。

论坛徽章:
0
5 [报告]
发表于 2004-06-17 15:25 |只看该作者

归档模式和非归档模式的理解

非常感谢楼上二位的指点

论坛徽章:
0
6 [报告]
发表于 2004-06-17 16:18 |只看该作者

归档模式和非归档模式的理解

是。曾经看到过这样的帖子。

即使在非归档模式下,当重做日志未被覆盖时,就是说有两个日志组,A与B,如果在写A时做的冷备份,启动后,在第一次切换到B,写B的过程中数据库崩溃,这里数据是可以恢复的。(但不知道recover会不会去读这个日志,应该可以将数据库切换为归档模式后,强制recover去读未归档的日志A)

在非归档模式下。日志写与读就是你说的轮转方式。

有一个地方不太对,不是发生写数据库动作的时候lgwr会去写log_buffer中的日志信息给当前日志,而是当有一定的条件时lgwr才会去写。而log_buffer中的信息是从哪来的呢?是由server进程写进来的。(此处的server进程区别于后台进程(即最常见的五大进程),而对应于user进程)。

体系结构多读,多想。有好处。good luck。

论坛徽章:
0
7 [报告]
发表于 2004-06-17 23:38 |只看该作者

归档模式和非归档模式的理解

thanks
以前学ora的时候是自认为懂了。
可后来想的越细发现不懂的东西越多,
最近突然发现有种学ora的冲动,于是仔细一学,坏了,发现彻底不懂了!!
,谢谢楼上的执教,又使的我长进了一些

论坛徽章:
0
8 [报告]
发表于 2004-06-18 09:18 |只看该作者

归档模式和非归档模式的理解

不错!有收获!

论坛徽章:
0
9 [报告]
发表于 2004-06-18 11:17 |只看该作者

归档模式和非归档模式的理解

哈哈,好!我正在找归档模式和非归档模式的区别呢。
另外
我想请教各位:
怎么理解Oracle的资料档案库?
我也曾建过资料档案库,启动ManagementService后就能以这种方式进入了,然后好像就能执行很多比如导入导出备份相关的功能了。
其实不建资料档案库一样可以执行这些命令。

不知各位对资料档案库有什么理解?我一般都是以独立模式登录数据库的,大家有没有有经常用?我看到Oracle的书中专门讲这方面的很少!
谢谢了

论坛徽章:
0
10 [报告]
发表于 2008-03-07 11:51 |只看该作者
呵呵,越细想越糊涂
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP