查看: 4439|回复: 6

oracle keep pool会不会自动缓存cache的表数据的更改

[复制链接]
论坛徽章:
10
ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:19itpub13周年纪念徽章
日期:2014-10-08 15:17:53itpub13周年纪念徽章
日期:2014-10-08 15:17:53itpub13周年纪念徽章
日期:2014-10-08 15:17:53马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-02-18 16:43:09优秀写手
日期:2014-02-18 06:00:11ITPUB社区12周年站庆徽章
日期:2013-10-08 15:00:342013年新春福章
日期:2013-02-25 14:51:24itpub13周年纪念徽章
日期:2014-10-08 15:17:53
发表于 2014-2-22 13:22 | 显示全部楼层 |阅读模式
现有一个表12G大小已经被cache在keep pool中,如果我对这个表进行insert、delete、truncate 、update,那么表里的数据更改了,对应的cache在内存里面的数据块是否会一起改变,是不是还要重新cache一次?
期望和大家的讨论。。。。
认证徽章
论坛徽章:
40
2014年新春福章
日期:2014-02-18 16:43:09喜羊羊
日期:2015-05-18 16:24:25慢羊羊
日期:2015-06-12 13:08:22暖羊羊
日期:2015-07-02 16:06:20暖羊羊
日期:2015-07-06 16:28:55狮子座
日期:2015-07-29 17:14:43摩羯座
日期:2015-09-02 13:58:47白羊座
日期:2015-09-08 10:39:06天枰座
日期:2015-09-17 21:41:53摩羯座
日期:2015-10-29 21:07:02
发表于 2014-2-22 19:17 | 显示全部楼层
我的理解:
不管这个表是否被cache到内存中,对表中数据的DML操作均是在内存中修改的,然后由DBWn进程写回到数据文件中。只不过,对于CACHE在内存中的表,由于其不会被换出内存,所以,应该只有在发生系统检查点或数据库正常关闭时,修改的最终结果才会被写回到数据文件上。
所以,你说的“表里的数据修改了”一定是首先发生在内存中,所以,要考虑的是何时,以何种方式把内存中已改变的数据同步或更新回数据文件上。而不是由数据文件同步或更校内存中的数据。

使用道具 举报

回复
论坛徽章:
10
ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:19itpub13周年纪念徽章
日期:2014-10-08 15:17:53itpub13周年纪念徽章
日期:2014-10-08 15:17:53itpub13周年纪念徽章
日期:2014-10-08 15:17:53马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-02-18 16:43:09优秀写手
日期:2014-02-18 06:00:11ITPUB社区12周年站庆徽章
日期:2013-10-08 15:00:342013年新春福章
日期:2013-02-25 14:51:24itpub13周年纪念徽章
日期:2014-10-08 15:17:53
 楼主| 发表于 2014-3-1 10:20 | 显示全部楼层
bfc99 发表于 2014-2-22 19:17
我的理解:
不管这个表是否被cache到内存中,对表中数据的DML操作均是在内存中修改的,然后由DBWn进程写回 ...

说的很好,内存中修改过的数据会一直缓存在其中,而且大家查的时候也是查的内存中的最新修改过后的内容,但是这个写回磁盘的数据就要认真考虑下了,到底是哪些数据什么时候写回磁盘中?

使用道具 举报

回复
论坛徽章:
17
2008新春纪念徽章
日期:2008-02-13 12:43:032014年新春福章
日期:2014-02-18 16:42:02优秀写手
日期:2013-12-18 09:29:13奥迪
日期:2013-09-12 15:57:04凯迪拉克
日期:2013-08-26 22:55:57红旗
日期:2013-08-15 13:57:06茶鸡蛋
日期:2013-05-29 11:38:412013年新春福章
日期:2013-02-25 14:51:24ITPUB季度 技术新星
日期:2012-02-16 14:53:162012新春纪念徽章
日期:2012-01-04 11:51:22
发表于 2014-3-1 14:55 | 显示全部楼层
keep pool就是吃 小灶饭,  你吃小灶饭 还是吃饭不?

使用道具 举报

回复
认证徽章
论坛徽章:
40
2014年新春福章
日期:2014-02-18 16:43:09喜羊羊
日期:2015-05-18 16:24:25慢羊羊
日期:2015-06-12 13:08:22暖羊羊
日期:2015-07-02 16:06:20暖羊羊
日期:2015-07-06 16:28:55狮子座
日期:2015-07-29 17:14:43摩羯座
日期:2015-09-02 13:58:47白羊座
日期:2015-09-08 10:39:06天枰座
日期:2015-09-17 21:41:53摩羯座
日期:2015-10-29 21:07:02
发表于 2014-3-1 22:12 | 显示全部楼层
tian1982tian 发表于 2014-3-1 10:20
说的很好,内存中修改过的数据会一直缓存在其中,而且大家查的时候也是查的内存中的最新修改过后的内 ...

http://book.51cto.com/art/200806/75620.htm

使用道具 举报

回复
论坛徽章:
10
ITPUB 11周年纪念徽章
日期:2012-10-09 18:09:19itpub13周年纪念徽章
日期:2014-10-08 15:17:53itpub13周年纪念徽章
日期:2014-10-08 15:17:53itpub13周年纪念徽章
日期:2014-10-08 15:17:53马上有钱
日期:2014-02-18 16:43:092014年新春福章
日期:2014-02-18 16:43:09优秀写手
日期:2014-02-18 06:00:11ITPUB社区12周年站庆徽章
日期:2013-10-08 15:00:342013年新春福章
日期:2013-02-25 14:51:24itpub13周年纪念徽章
日期:2014-10-08 15:17:53
 楼主| 发表于 2014-3-3 18:35 | 显示全部楼层
maclean 发表于 2014-3-1 14:55
keep pool就是吃 小灶饭,  你吃小灶饭 还是吃饭不?

深奥

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
45
祖国60周年纪念徽章
日期:2015-05-19 13:02:04itpub13周年纪念徽章
日期:2014-12-30 09:02:122010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:192013数据库大会纪念章
日期:2015-04-23 10:33:192014数据库大会纪念章
日期:2015-04-23 10:33:192015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24暖羊羊
日期:2015-05-13 18:24:182015年新春福章
日期:2015-05-30 17:02:05
发表于 2014-3-4 22:24 | 显示全部楼层
本帖最后由 zcs0237 于 2014-3-4 22:24 编辑
maclean 发表于 2014-3-1 14:55
keep pool就是吃 小灶饭,  你吃小灶饭 还是吃饭不?

使用道具 举报

回复
论坛徽章:
0
发表于 2014-3-4 22:41 来自手机 | 显示全部楼层
你说的cache 数据是cache 到default cache而不是 keep pool,个人认为会变化,而不需要重新cache

使用道具 举报

回复

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

本版积分规则 发表回复

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