123
返回列表 发新帖
楼主: fxyj2008

关于对ORACLE工作机制的一点疑问

[复制链接]
论坛徽章:
1
数据库板块每日发贴之星
日期:2006-09-12 01:03:20
21#
发表于 2006-9-8 09:54 | 只看该作者
1、这个设想:‘设想:每个更改都会有SCN,是在上一个SCN+1,按这种理解的话SCN应该是一个全局变量,由DBMS维护,并且自动加1.现在我开了三个会话…………’
本身有问题,
由设想得出的这个结论呢:如果是这样的话,也就是说log file 里面的SCN 号并不是递增写的了?

我想,log file中的SCN是否递增不知道。就算不是递增的,也不应是因为设想中说的由于rollback或commit时机造成的。
因为redo中的内容并不是在commit时才写的,所有操作发生时就已经写到redo中了。而commit时,是把内存中的redo信息写入文件log file,但把所有redo信息都写入文件,不管是rollback了的,还是commit的。我理解还应该是内存中所有redo信息,不分哪个session,哪个用户,一律写入。不知道对否,请高人指点。

2、关于:‘不知scn号是如何维护的,如果我现在做了关机操作,内存中的信息将会消失了,那么开机以后ORACLE是如何找到上一次的SCN号的呢?如果是根据log file 去找的话,那么我上面的一种情况显然会有问题的’
SCN号在control file中有记载,数据库启动时查找此SCN,来同步数据,将log file中没有commit的操作rollback,将数据文件中没有写入的数据写入。关机时,内存中的redo信息一定是未commit的,因为oracle保证commit的一定写到file中,所以丟了就丟了。

使用道具 举报

回复
论坛徽章:
1
2010新春纪念徽章
日期:2010-03-01 11:06:13
22#
 楼主| 发表于 2006-9-8 10:50 | 只看该作者
多谢两位老兄的回复.
to:glm1999

我理解还应该是内存中所有redo信息,不分哪个session,哪个用户,一律写入。不知道对否,请高人指点。

我曾经看过一份资料,确实是这样的, "不分哪个session,哪个用户,一律写入"

但我当时看的资料里面并没有提到  : 说我 用 update 操作时就会产生SCN号,它当时演示的时候redo log  里面是这样写的:
事务a   所做的操作...
事务b  所做的操作...
如果现在事务a提交了,就会产生一个SCN号
按他的说法,即使我用update 操作时,也只有commit时才产生SCN的

但看了很多人的回复后  :update 后即使没有提交也会产生SCN,关于这个说法让我很迷惑
到底是怎么样的? 还请多指教啊

使用道具 举报

回复
论坛徽章:
1
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
23#
发表于 2006-9-9 17:18 | 只看该作者
最初由 fxyj2008 发布
[B]多谢两位老兄的回复.
to:glm1999

我理解还应该是内存中所有redo信息,不分哪个session,哪个用户,一律写入。不知道对否,请高人指点。

我曾经看过一份资料,确实是这样的, "不分哪个session,哪个用户,一律写入"

但我当时看的资料里面并没有提到  : 说我 用 update 操作时就会产生SCN号,它当时演示的时候redo log  里面是这样写的:
事务a   所做的操作...
事务b  所做的操作...
如果现在事务a提交了,就会产生一个SCN号
按他的说法,即使我用update 操作时,也只有commit时才产生SCN的

但看了很多人的回复后  :update 后即使没有提交也会产生SCN,关于这个说法让我很迷惑
到底是怎么样的? 还请多指教啊 [/B]

当然了,scn =system change number !!,update 已经促使oracle 系统发生了改变,当然scn 也就变化了!

使用道具 举报

回复
论坛徽章:
1
2010新春纪念徽章
日期:2010-03-01 11:06:13
24#
 楼主| 发表于 2006-9-11 17:46 | 只看该作者
多谢以上各位了!

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表