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

恢复Controlfile文件的疑问

[复制链接]
论坛徽章:
9
ITPUB9周年纪念徽章
日期:2010-10-08 09:28:522010广州亚运会纪念徽章:击剑
日期:2010-11-03 11:00:36ITPUB十周年纪念徽章
日期:2011-11-01 16:25:512012新春纪念徽章
日期:2012-01-04 11:56:19奥运会纪念徽章:摔跤
日期:2012-08-21 10:04:04优秀写手
日期:2014-02-15 06:00:132014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08马上加薪
日期:2014-05-19 11:17:08
21#
 楼主| 发表于 2010-2-26 10:28 | 只看该作者
原帖由 Yong Huang 于 2010-2-26 02:55 发表
> DATA BUFFER往下写的9个条件
...
> 5.rac ping request

It's better to tell us what version these conditions apply to, and of course the source of this information unless it's from your own research. "RAC ping request" sounds like pre-9i i.e. OPS environment.

Just found it. This may be the source that many people are referencing:
http://www.oracle.com/technology ... tectureOverview.pdf

It has a copyright timestamp of 2001. I don't think Oracle9i was released in that year. But some concepts mentioned in the article are definitely newer than 8i, such as sga_max_size (beginning with 9iR2 I think). I think "RAC ping request" is a mistake. It's better to say "OPS (8i and before) ping request". OPS does not have cache fusion so ping request needs a write.

Additionally, any segment checkpoint, not just that before you drop or truncate table, but also that before Oracle scans a table or index in parallel, causes DBWn to write.

Yong Huang

还有segment checkpoint呀。

Yong Huang大师,能给我点资料不,关于checkpoint的。我想系统地学习一下。。。太乱了。。。。

我发现checkpoint的分类不少呀。。。。
有Normal Checkpoint,Tablespace Checkpoint,还有segment checkpoint...

从程度上划分,又分什么Complete Checkpoint和Incremental Checkpoint,Incremental Checkpoint是每三秒执行一次吗?


另外,我觉得。。。。(我的胡思乱想)
checkpoint事件的核心思想是将所谓的Dirty Blocks同步到数据文件中,以达到降低IO竞争的目的。而为了减少INSTANCE RECOVER的时间,Incremental Checkpoint和
Checkpoint Queue就被引入了。

我觉得我对这个Dirty Blocks的概念很重要,我个人的看法是,Dirty Blocks就只是特指由DML操作所引起的那些改变。

一个数据库,在她的生命周期中,像建立数据空间这样的操作能有几次呢??比起DML操作的数量来,少的可怜吧。。。
所以我觉得,所有的DDL操作全都是立刻执行的,即立刻会修改数据文件,修改数据字典和控制文件等。

但也可能是这样的,比如我执行了CREATE TABLE,这势必会引起对数据字典的修改,数据字典也是保存在DATAFILE中的,所以要修改DATAFILE的内容,
这样一来就产生了Dirty Blocks。这个新的Dirty Blocks就进入了checkpint队列,等待被同步。如果这个假设成立的话,以上的那就错了。。。。


还是请大家帮帮忙,给讲讲吧。

使用道具 举报

回复
论坛徽章:
1
2010新春纪念徽章
日期:2010-03-01 11:20:52
22#
发表于 2010-2-27 00:07 | 只看该作者
dirty blocks 应该是被修改过的数据块,被临时放置在lru中,等待被写入。而DDL操作尽管会引发字典的修改,不过这个字典修改的dirty blocks好像是在字典缓冲区里面,这个缓冲区和数据缓冲区的机制应该是略有不同吧。

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
23#
发表于 2010-2-27 02:05 | 只看该作者
The concept of "segment checkpoint" is never officially acknowledged by Oracle. But you see it mentioned by a lot of people. For example, Jonathan Lewis uses this term in his book and many of his posted messages.

Note that not all dirty block writing is considered as checkpoint.

Yong Huang

使用道具 举报

回复
论坛徽章:
15
ITPUB9周年纪念徽章
日期:2010-10-08 09:32:27马上有房
日期:2014-04-04 19:42:43马上有对象
日期:2014-02-18 16:44:082014年新春福章
日期:2014-02-18 16:44:08本田
日期:2014-01-16 21:44:06大众
日期:2013-12-14 09:29:562013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:14:48奥运会纪念徽章:射箭
日期:2012-07-26 13:53:55奥运会纪念徽章:跆拳道
日期:2012-07-13 13:54:19
24#
发表于 2010-3-21 16:05 | 只看该作者
如果有数据文件,log
restore,recover应该是可以的

使用道具 举报

回复
论坛徽章:
22
2010新春纪念徽章
日期:2010-03-01 11:08:33马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:09
25#
发表于 2010-3-21 18:34 | 只看该作者
原帖由 Yong Huang 于 2010-2-27 02:05 发表
The concept of "segment checkpoint" is never officially acknowledged by Oracle. But you see it mentioned by a lot of people. For example, Jonathan Lewis uses this term in his book and many of his posted messages.

Yong Huang


segment checkpoint 应该就是一般所说的Fast Object Checkpoint吧,,在并行读取或者truncate table/drop table 操作时会触发相应对象(segment)的checkpoint.

Note that not all dirty block writing is considered as checkpoint.


当一个事务修改的数据量非常大时,或者一个对象相关的blocks操作Buffer Cache的一定比例(我印象中是10%)时,或者没有足够的free buffer来放置新的block时都会触发DBWR将部分脏块将Flush到数据文件,,而这些脏块的写操作一般都与checkpoint没有什么关系..

[ 本帖最后由 jametong 于 2010-3-21 18:37 编辑 ]

使用道具 举报

回复
论坛徽章:
47
蒙奇·D·路飞
日期:2017-03-27 08:04:23马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11一汽
日期:2013-09-01 20:46:27复活蛋
日期:2013-03-13 07:55:232013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:03:322012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20
26#
发表于 2010-3-22 23:30 | 只看该作者
> segment checkpoint 应该就是一般所说的Fast Object Checkpoint吧

I think segment checkpoint even existed before 10gR2. But fast object checkpoint probably starts to appear in 10gR2 (controlled by _db_fast_obj_ckpt). Whether we can say they're exactly the same thing I'm not sure.

> 当一个事务修改的数据量非常大时,或者一个对象相关的blocks操作Buffer Cache的一定比例(我印象中是10%)时...

You remembered that number (10% of buffer cache) correctly. Those dirty blocks are placed on modified block lists. See
http://yong321.freeshell.org/oranotes/ModifiedBlockList.txt

Yong Huang

使用道具 举报

回复
论坛徽章:
8
2009新春纪念徽章
日期:2009-01-04 14:52:28祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-03-01 11:07:24ITPUB9周年纪念徽章
日期:2010-10-08 09:32:25ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262013年新春福章
日期:2013-02-25 14:51:24沸羊羊
日期:2015-03-04 14:51:522015年新春福章
日期:2015-03-06 11:57:31
27#
发表于 2010-3-26 17:23 | 只看该作者
记得9I的发布是在2001年。

使用道具 举报

回复
论坛徽章:
0
28#
发表于 2012-2-28 11:57 | 只看该作者
3q3q3q3q3q3q3q

使用道具 举报

回复

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

本版积分规则 发表回复

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